Hive 中将useraddress列拆分出:省(浙江省)、市(浙江省 杭州市)、区(浙江省 杭州市 钱塘区)三个新列,如果useraddress的内容不足,省市区三个新列对应的内容置为NULL
时间: 2023-06-03 07:05:32 浏览: 168
征服Hive小文件之困:策略、方法与实践
答:可以使用Hive中的substring和regexp_extract函数来实现该功能,具体可以参考以下代码:
SELECT
SUBSTRING(useraddress, 1, INSTR(useraddress, '省')),
REGEXP_EXTRACT(useraddress, '省\\s*(.*?)\\s*市'),
REGEXP_EXTRACT(useraddress, '市\\s*(.*?)\\s*[区县]')
FROM
[你的表名];
需要注意的是,如果useraddress中不包含"省"、"市"、"区"等关键字,这些新列的值将被置为NULL。
阅读全文