首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >创建字典权限被拒绝

创建字典权限被拒绝
EN

Stack Overflow用户
提问于 2021-07-07 16:18:57
回答 1查看 55关注 0票数 0

访问新创建的字典时,我需要有关权限错误的帮助。

我的字典源文件如下:

代码语言:javascript
运行
复制
$ ls -l /root/organization.csv
-rwxrwxrwx 1 clickhouse clickhouse 154 Jul  7 14:56 /root/organization.csv

$ cat /root/organization.csv
1,"a0001","研发部"
2,"a0002","产品部"
3,"a0003","数据部"
4,"a0004","测试部"
5,"a0005","运维部"
6,"a0006","规划部"
7,"a0007","市场部"

我创建我的字典如下:

代码语言:javascript
运行
复制
CREATE DICTIONARY test_flat_dict
(
    id UInt64,
    code String,
    name String
)
PRIMARY KEY id
SOURCE(FILE(PATH '/root/organization.csv' FORMAT CSV))
LAYOUT(HASHED())
LIFETIME(0);

然后,我尝试通过一个简单的SQL查询来测试字典:

代码语言:javascript
运行
复制
SELECT * FROM test_flat_dict

但我得到了一个例外:

代码语言:javascript
运行
复制
Received exception from server (version 21.6.3):
Code: 156. DB::Exception: Received from localhost:9000. DB::Exception: Failed to load dictionary 'eeedf011-4a41-4337-aeed-f0114a414337': std::exception. Code: 1001, type: std::__1::__fs::filesystem::filesystem_error, e.what() = filesystem error: in canonical: Permission denied [/root/organization.csv] [""],

我的字典可能出了什么问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-07 23:10:21

正如它在ClickHouse documentation上所说的那样

代码语言:javascript
运行
复制
When dictionary with source FILE is created via DDL command (CREATE 
DICTIONARY ...), the source file needs to be located in user_files
directory, to prevent DB users accessing arbitrary file on ClickHouse
node.

我怀疑ClickHouse是否有能力从根目录主文件夹中检索文件,即使您的文件是777模式。

所以我建议你把数据文件放在./user_files文件夹下(它在ClickHouse数据文件夹的根目录下)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68282425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档