xml - 如何将 xml 文件从 hdfs 加载到 hbase 表
问题描述
我在 HDFS 中有一个 XML 文件,我想将这些 XML 文件加载到 HBase 表中。
我提到了一些链接,他们使用 map reduce 选项将 XML 数据加载到 HBase 中,是否有任何替代选项可直接加载到 HBase 表中。
解决方案
我已经给出了使用 PIG 将 input3.xml 文件加载到 HBASE 中的示例。
=== input3.xml =====
<document>
<url>htp://www.abc.com/</url>
<category>Sports</category>
<usercount>120</usercount>
<reviews>
<review>good site</review>
<review>This is Avg site</review>
<review>Bad site</review>
</reviews>
</document>
A = LOAD'input3.xml' using
org.apache.pig.piggybank.storage.XMLLoader('document').HBaseStorage as
(data:chararray);
B = foreach A GENERATE FLATTEN(REGEX_EXTRACT_ALL(data,'(?s)<document>.*?<url>
([^>]*?)</url>.*?<category>([^>]*?)</category>.*?<usercount>([^>]*?)</usercount>.*?
<reviews>.*?<review>\\s*([^>]*?)\\s*</review>.*?</reviews>.*?</document>')) as
(url:chararray,catergory:chararray,usercount:int,review:chararray);
推荐阅读
- vue.js - 如何在不更改路由的情况下在 vue 中删除或添加查询字符串?
- complex-event-processing - 如何创建一个 Esper 语句并自动设置订阅者,这样我就不会错过任何更新?
- node.js - 如何从 npm 安装 vue cli 而不会出现任何错误?
- jwt - 如何在 Keycloak 中拥有除 JWT 之外的另一种令牌格式?
- apache-nifi - Apache NiFi 进程间通信
- composer-php - 作曲家和共享主机
- c# - Linq 选择具有匹配子项的父/父记录
- java - 如何在 Java 中使用正则表达式捕获多次出现的组
- json - 如何测试 FeignClient 解组?
- shell - 如何从 SONAME 字段中提取共享库版本?