csv - 将CSV数据导入Hadoop

标签 csv ubuntu hadoop data-ingestion

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

相关文章:

c# - 如何使用 linq 解析字典列表 (List<Dictionary<string, string>>)

hadoop - 使用Cloud Shell连接到HDFS的问题

hadoop - java.lang.NoClassDefFoundError : org/apache/hadoop/hdfs/BenchmarkThroughput 错误

php - 如何使用 PHP 创建自定义 CSV 文件?

c# - csv文件转xls文件时兼容性检查怎么解决?

c# - 使用 C# 在 Windows 窗体应用程序上读取和显示 CSV 文件中的数据

eclipse - Ubuntu 上 Eclipse 中的巨大选项卡

ubuntu - 如何在 AWS ubuntu 服务器上使用 jenkins 启动 pm2 网站?

python - Systemd 丢弃随机的标准输出

hadoop - Hive 中 LEFT OUTER JOIN 的全表扫描问题