您好,我正在寻找一种查询配置单元表 (user_acc_detl) 的方法 其中一列 (ACC_DETAILS) 数据如下所示,
COUNTRY[0]_united staes~DATE[0]_6/10/2014~AMOUNT[0]_200~ID[0]_20140509065052159324~COUNTRY[1]_united kingdom~DATE[1]_6/17/2014~AMOUNT[1]_125~ID[1]_20140516075156389761~COUNTRY[2]_Canada~DATE[2]_6/26/2014~AMOUNT[2]_200~ID[2]_20140515094013444121~COUNTRY[3]_Mexico~DATE[3]_7/3/2014~AMOUNT[3]_1200~ID[3]_20140601000937914898
我可以通过查询hive表
select ACC_DETAILS["COUNTRY[0]"] as COUNTRY, ACC_DETAILS["DATE[0]"] as DATE, ACC_DETAILS["AMOUNT[0]"] as BILLAMOUNT, ACC_DETAILS["ID[0]"] as PAYMENTID
from user_acc_detl
上面的查询给出了 country[0]、date[0]、amount[0]、id[0] 的数据,这没问题。
问题 - 我只需要使用国家、日期、金额来查询它......而无需指定为国家[0]......
问题 - 是否有正则表达式方法可以相应地修改查询。请帮助我。
最佳答案
实现此目的的一种简单方法是将查询包装在 View 中:
CREATE VIEW user_acc_detl_simple AS
SELECT ACC_DETAILS["COUNTRY[0]"] as COUNTRY
, ACC_DETAILS["DATE[0]"] as DATE
, ACC_DETAILS["AMOUNT[0]"] as BILLAMOUNT
, ACC_DETAILS["ID[0]"] as PAYMENTID
FROM user_acc_detl;
SELECT country, date, billamount, paymentid FROM user_acc_detl_simple;
关于hadoop - 使用正则表达式的配置单元查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24762351/