用flume提交文件到hdfs系统,并保持原来的文件名信息【转】

用flume提交文件到hdfs系统,并保持原来的文件名信息的配置方式:

配置files_source

spooling

agent1.sources.files_source.type = spooldir
agent1.sources.files_source.spoolDir = /tmp/flumetest/
agent1.sources.files_source.fileHeader = true
agent1.sources.files_source.fileHeaderKey = fileName

配置hdfs_sink

agent1.sinks.hdfs_sink.type = hdfs
agent1.sinks.hdfs_sink.hdfs.path = hdfs://localhost:9000/myflumetestcluster/flume
agent1.sinks.hdfs_sink.fileType = SequenceFile

agent1.sinks.hdfs_sink.fileType = DataStream #值DataStream表示文件类型,不会被压缩

agent1.sinks.hdfs_sink.writeFormat = Text #针对DataStream,使用Text输出格式

agent1.sinks.hdfs_sink.hdfs.filePrefix = %{fileName} #把原来的文件名作为前缀

查看文件的Hadoop命令
ls

使用方法:hadoop fs -ls

如果是文件,则按照如下格式返回文件信息:
文件名 <副本数> 文件大小 修改日期 修改时间 权限 用户ID 组ID
如果是目录,则返回它直接子文件的一个列表,就像在Unix中一样。目录返回列表的信息如下:
目录名

修改日期 修改时间 权限 用户ID 组ID
示例:
hadoop fs -ls /user/hadoop/file1 /user/hadoop/file2 hdfs://host:port/user/hadoop/dir1 /nonexistentfile
返回值:
成功返回0,失败返回-1。
lsr

使用方法:hadoop fs -lsr
ls命令的递归版本。类似于Unix中的ls -R。

作者:lingzhiwangcn
来源:CSDN
原文:https://blog.csdn.net/lingzhiwangcn/article/details/50460121
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/weixin_42644102/article/details/85067755