gpt4 book ai didi

hadoop - 使用不在 hdfs 中的文件

转载 作者:可可西里 更新时间:2023-11-01 16:52:27 26 4
gpt4 key购买 nike

我有服务器的 root 访问权限,安装了 hadoop 和 hive。但是,尽管我有 root 权限,但我无法将数据从文件系统复制到 hdfs:

root@serv:~# hadoop fs -put flume_test/logs /user
put: Permission denied: user=root, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x

我尝试了不同的方法从文件 flume_test/logs 创建表,它不在 hdfs 中。例如:

CREATE TABLE natlog_orc (
src_local_ip STRING,
time_start STRING,
time_end STRING,
src_global_ip STRING,
protocol STRING,
port_start STRING,
port_end STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ","
STORED AS TEXTFILE
LOCATION /root/flume_test/logs;

但没有一个是不工作的。

那么,我如何从不在 hdfs 中的文件创建外部表?或者我可以更改 hadoop 设置中的哪个参数以获得将数据复制到 hdfs 的必要权限?

最佳答案

HDFS 权限与本地文件系统不同。 root 没有 super 权限。您收到的错误是因为 root 用户没有写入/user 的权限。切换到 hdfs 用户(运行 su - hdfs)并在 hdfs 上创建一个目录以将您的数据放入(例如/user/root)。将目录更改为根目录,您就可以将数据上传到 hdfs。

关于hadoop - 使用不在 hdfs 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31772827/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com