如何在hive中分割由分号分隔的字符串字段?
select split(f1,";")[0] from table;
答案 0 :(得分:6)
你可以这样写
select split(f1,'\073')[0] from table;
答案 1 :(得分:2)
想重新尝试这确实是一个Hue bug,但仅限于Hortonworks版本。最新的Cluedera版Hue运行得很好。
答案 2 :(得分:1)
以下命令将起作用:
1;Neethu KV
2;Ram KV
查询1:
select split(name,"\\;")[0],school from table_test
,其中name表示要拆分的列名。
1 KV
2 KV
查询2:
select split(name,"\\;")[1],school from table_test
,其中name表示要拆分的列名。
Neethu KV
Ram KV
答案 3 :(得分:0)
我认为这是Hue中的一个错误,\;从命令行运行良好。
答案 4 :(得分:0)
您可以尝试使用' \ 03B'而不是分号。它对我有用。试一试。
答案 5 :(得分:0)
split函数需要一个正则表达式。
对于特殊字符,它应该足以逃脱它们,例如'\;'
https://linuxandryan.wordpress.com/2014/03/05/hive-split-on-special-characters-escape-in-split/