logstash传输文本文件到HDFS
来源:互联网 发布:十一双十一淘宝 编辑:程序博客网 时间:2024/06/05 19:32
说明
1、这次主要是记录一下,前几天实现logstash传输文本信息到HDFS时,遇到的一个问题的解决办法,因为自己对logstash还不是很熟悉,所以当时折腾了很久,虽然发现解决方案很简单。
2、logstash有一个第三方插件:webhdfs
遇到的问题
logstash添加的字段与message之间的分隔符与message内部的分隔符不一致
问题描述
我的需求是,将以“,”分隔的文本文件通过logstash传输到HDFS上,然后通过hive建立外表连接,对其中的内容进行查询。
遇到的问题是,logstash将一行行的信息message传输写入hdfs文件时,会添加两个字段:timestamp和hostname,而且分隔符为空格,即:
timestamp hostname message
将message拆开后,存储到HDFS上每行的格式如下:
timestamp hostname 1,小明,1995,98
如此的格式,便无法建立hive查询表,因为整体的分隔符为空格,导致message是一个整体,而不是我们设想的以“,”为分隔符的每个字段对应hive表中的一个字段。这样不利于我们构建hive外表对它进行查询,所以想要将message的字段和添加的字段之间的分隔符保持一致。
解决方案
1、首先想要使用message_format进行解决,将timestamp hostname message之间的分隔符换成“,”,后来发现随着版本更新,webhdfs已经没有了该属性。
2、使用mutate插件的split将message分割,然后分别添加字段add_field,最后删除message,remove_field,后来发现添加没有任何效果,而删除最后得到%{message}的结果。
3、使用mutate插件的gsup解决了问题:gsub => [“message”, “,”, ” “]
- logstash传输文本文件到HDFS
- logstash传输自定义字段数据到hdfs进行分年月日分区,并且hive可以通过hiveQL快速查询数据
- filebeat传输到logstash通过ssl加密
- logstash配置读取文本文件使用kafka传送到kafka服务器
- logstash-out-hdfs
- http报文传输到logstash再到elasticsearch(教程1)
- 串口上传输文本文件
- 利用sqoop把Mysql中的表数据导出到HDFS下的文本文件里
- 将本地文本文件上传到HDFS上,然后导入hive/impala对应表中
- logstash使用webhdfs插件指定输出字段存储数据到hdfs时间分层(还能保留原来数据)
- logstash使用webhdfs插件指定输出字段存储数据到hdfs时间分层(还能保留原来数据)
- Bash监控Logstash写入HDFS性能脚本
- logstash通过kafka传输nginx日志
- Biztalk 实例之 传输文本文件
- .Net socket编程-传输文本文件
- .Net socket编程-传输文本文件
- 通过二维码传输少量文本文件
- flume流(三)如何用flume流从本地传输文件到hdfs?
- 提升方法
- Maximum Subarray
- [leetcode]581. Shortest Unsorted Continuous Subarray
- 【NGUI】头顶血条(2D与3D的实现)
- ugui优化
- logstash传输文本文件到HDFS
- matlab图像处理相关函数
- 双端顺序栈基本操作
- 装饰模式笔记
- HDU 1213 How Many Tables
- codeforces——466A——Cheap Travel
- javax.mail发送邮件
- 第十三周
- SecCore关键数据结构