ftp—如何将文件发送到hdfs,同时保留其基本名称

ddrv8njm  于 2021-06-04  发布在  Flume
关注(0)|答案(1)|浏览(440)

有人向我建议,最好的解决方案是从不同来源shipp文件,并根据它们的名称将它们存储在hdfs中。我的情况是:我有一个服务器,有大量的文件,我需要把它们发送到hdfs。实际上我使用了flume,在它的配置中我尝试了spooldir和ftp作为源代码,但是它们都有缺点。
你知道怎么做吗?

baubqpgj

baubqpgj1#

使用hadoop put命令:

用法:hadoop fs-put[-f][-p][-l][-d][-|…]。
将单个src或多个src从本地文件系统复制到目标文件系统。如果源设置为“-”,则还从stdin读取输入并写入目标文件系统
如果文件已经存在,则复制失败,除非给出-f标志。
选项:
-p:保留访问和修改时间、所有权和权限(假设权限可以跨文件系统传播)
-f:如果目标已经存在,则覆盖它。
-l:允许datanode将文件延迟持久化到磁盘,强制复制因子为1。此标志将导致耐久性降低。小心使用。
-d:跳过创建带有后缀的临时文件。正在复制。
示例:
hadoop fs-put localfile/user/hadoop/hadoop文件
hadoop fs-put-f localfile1 localfile2/user/hadoop/hadoopdir
hadoop fs-put-d本地文件hdfs://nn.example.com/hadoop/hadoopfile
hadoop fs-输入-hdfs://nn.example.com/hadoop/hadoopfile 从标准输入读取输入。
退出代码:
成功时返回0,错误时返回-1。
https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/filesystemshell.html#put

相关问题