如何将平面文件(非分隔文件)加载到hbase中?

mmvthczy  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(368)

我是hbase新手,我有一个平面文件(不是分隔文件),我想加载到一个hbase表中。
以下是我的文件中某行的预览:
0107e07201512310015071c11100747012015123100
我知道一个例子,从位置1到7是一个id,从位置7到15是一个日期。。。。
问题是如何构建与我的文件相对应的模式,或者是否有方法将其转换为分隔文件,或者使用jaql读取此类文件,因为我正在使用infosphere biginsights。
任何帮助都将不胜感激。
提前谢谢。

mutmk8jj

mutmk8jj1#

你可以写一个 SerDe 反序列化到配置单元并使用配置单元导出到hbase。

amrnrhlw

amrnrhlw2#

使用regexserde创建配置单元表

CREATE EXTERNAL TABLE testtable ((col1 STRING, col2 STRING, col3 STRING)
ROW FORMAT SERDE ‘org.apache.hadoop.hive.contrib.serde2.RegexSerDe’
WITH SERDEPROPERTIES (“input.regex” = “(.{5})(.{6})(.{3}).*” )
LOCATION ‘<hdfs-file-location>’;

您可以创建指向hbase的配置单元表以下是说明http://hortonworks.com/blog/hbase-via-hive-part-1/
可以使用insert overwrite table将数据从配置单元表加载到hbase表https://cwiki.apache.org/confluence/display/hive/gettingstarted#gettingstarted-选择和过滤器

相关问题