【问题标题】:Ingesting csv data to hadoop将 csv 数据摄取到 hadoop
【发布时间】:2020-06-02 04:15:32
【问题描述】:

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

【问题讨论】:

  • hdfs dfs -put user/data/test.csv /home/hadoop/test.csv
  • 您好,非常感谢您的回复。我试过你的建议,它返回:
  • 输入:/home/hadoop/test.csv': No such file or directory: hdfs://ambari.int.cbn.net.id:8020/home/hadoop/test.csv'
  • hdfs dfs -put user/data/test.csv /home/hadoop
  • 您是否尝试过hdfs dfs -ls /user 来查看路径/user/hadoop 是否存在?因为如果它不存在,您将不得不创建它。

标签: csv ubuntu hadoop data-ingestion


【解决方案1】:

@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

【讨论】:

    猜你喜欢
    • 2017-03-31
    • 1970-01-01
    • 2022-08-17
    • 1970-01-01
    • 2019-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多