将 csv 数据提取到 hadoop

Ingesting csv data to hadoop

目前我正在尝试将数据提取到 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 并且 returns

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

如果您以用户 "data" 的身份执行 hdfs dfs -copyFromLocal 命令,则执行此操作:

hdfs dfs -chown data:hdfs /user/data

如果您以用户 "hadoop" 的身份执行命令,那么您需要确保 /home/hadoop/test.csv 和 /user/data 都被 chowned 给用户 hadoop:

chown hadoop:hadoop /home/hadoop/test.csv
hdfs dfs -chown hadoop:hdfs /user/data

一旦你拥有正确的源文件和 hdfs 位置,你就可以执行 hdfs dfs -copyFromLocal