拆分包含Hive中分号的字符串

时间:2013-06-20 11:32:07

标签: hive

如何在hive中分割由分号分隔的字符串字段?

select split(f1,";")[0] from table;

6 个答案:

答案 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/

相关问题