使用flume ng写数据到hbase 失败

发布于 2022-09-06 10:06:07 字数 858 浏览 17 评论 0

使用flume ng 写数据到hbase,使用org.apache.flume.sink.hbase.SimpleHbaseEventSerializer可以写成功,只是写到一个列里面,这不是我想要的。所以使用 org.apache.flume.sink.hbase.RegexHbaseEventSerializer,使用正则写入。flume没有错误日志,但是hbase中也没有收到数据。

flume版本1.6.0 HBASE版本1.2.0

原始数据:

one,two,three,four,five

tier1.sources.source1.channels = channel1
tier1.sinks.sink1.channel = channel1
tier1.sinks.sink1.type = hbase
tier1.sinks.sink1.table = host_table
tier1.sinks.sink1.columnFamily = host_info
tier1.sinks.sink1.serializer = org.apache.flume.sink.hbase.RegexHbaseEventSerializer
tier1.sinks.sink1.serializer.regex= ^(w+),(w+),(w+),(w+),(w+)$
tier1.sinks.sink1.serializer.rowKeyIndex = 0
tier1.sinks.sink1.serializer.colNames= ROW_KEY,o,z,w,d
tier1.sinks.sink1.batchSize = 50
tier1.sinks.sink1.zookeeperQuorum = 127.0.0.1:2181

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

甚是思念 2022-09-13 10:06:07

正则表达式不正确,匹配不了数据,才导致hbase数据无法写入

恋竹姑娘 2022-09-13 10:06:07

你好, 我也遇到了同样的问题, 请问这个最后是怎么解决的, 正则表达式我使用 Java 程序验证了, 可以取出数据, 如下
"name":"(.*?)".*?"content":"(.*?)".*?"timestamp":(1[0-9]{12})

目前使用从 JSON 中取出数据存入 HBase, 原始JSON 样例:
{"name":"this-is-a-name","content":"this is a test string for flume writting into hbase","timestamp":1574737747250}

多谢赐教

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文