目前,我正在尝试将数据提取到hdfs。我尝试提取的数据类型为csv。
在ubuntu上安装了Hadoop 3.1.1。
数据样本存储在/home/hadoop/test.csv
我试过了
source1
hadoop@ambari:~$ hdfs dfs -put /home/hadoop/test.csv user/data/test.csv
put: `user/data/test.csv': No such file or directory: `hdfs://xxxx:8020/user/hadoop/user/data/test.csv'
所以我将其修改为test.csv并返回
hadoop@ambari:~$ hdfs dfs -put /home/hadoop/test.csv test.csv
put: `test.csv': No such file or directory: `hdfs://xxxx:8020/user/hadoop/test.csv'
因为据写,没有目录,我跟随另一个来源建立目录
source2
source3
hadoop@ambari:~$ hadoop fs -mkdir bdp
mkdir: `hdfs://xxxx:8020/user/hadoop': No such file or directory
hadoop@ambari:~$ hadoop fs -mkdir /user/hadoop/in
mkdir: `hdfs://xxxx:8020/user/hadoop': No such file or directory
最佳答案
@yuliansen
将文件从本地磁盘复制到hdfs的命令如下:
hdfs dfs -copyFromLocal /home/hadoop/test.csv /user/data/
如果未将文件夹创建为hdfs或root用户,请执行以下命令:
hdfs dfs -mkdir /user/data
如果您以用户“数据”的身份执行hdfs dfs -copyFromLocal命令,请执行以下操作:
hdfs dfs -chown data:hdfs /user/data
如果您以“hadoop”用户身份执行命令,则需要确保将/home/hadoop/test.csv和/ user / data都限制为hadoop用户:
chown hadoop:hadoop /home/hadoop/test.csv
hdfs dfs -chown hadoop:hdfs /user/data
一旦拥有正确的源文件和hdfs位置,即可执行hdfs dfs -copyFromLocal
关于csv - 将CSV数据导入Hadoop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62144723/