csv - 将 csv 数据摄取到 hadoop
问题描述
目前我正在尝试将数据摄取到 hdfs。我试图摄取的数据类型是 csv。安装在 ubuntu 上的 Hadoop 3.1.1。数据样本存储在 /home/hadoop/test.csv
我试过了
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
推荐阅读
- javascript - 谷歌地图 API - ReferenceError:谷歌未定义
- python - 如何在 IntelliJ 中打开 .ipynb 文件?
- ajax - 您如何处理 Razor Pages PageRemote 对“加载”数据的验证(例如编辑 ViewModel 页面)?
- php - 如何使用 PHP 下载生成的 pdf 文件?
- python - 如何将 pandas groupby 函数中的数据分配给变量?
- php - 如何将具有相同格式的多个数组与具有相同格式的 1 个数组进行比较?
- python - Python 转换 json
- tensorflow - Keras:TypeError:'float' 对象不可调用。无法在非常简单的 CNN 模型上调用 model.fit() 或 model.fit_generator()
- python - 如何从列中的字符串中提取与python列表中的另一个字符串匹配的子字符串
- powerbi - PowerBI Dax 从许多其他表创建汇总表