Select command for cloudera impala to convert hexadecimal to ip address

时间:2015-06-26 10:29:09

标签: sql impala

I need select statement format for cloudera impala to convert hexadecimal to ip address.

Suppose a hexadecimal number is given (as shown below). How to convert it into impala with select statement like:-

A.59.FC.6

1 个答案:

答案 0 :(得分:1)

您可以在Hive中使用split分割字符串,conv从基数16转换为基数10;不幸的是,尽管Impala确实支持conv,但似乎Impala内置了split UDF,所以如果您遇到Impala,您可能需要编写自己的:(

Hive代码

 select concat(
           cast(conv(split(ipcolumn,'[.]')[0],16,10) as string), '.',
           cast(conv(split(ipcolumn,'[.]')[1],16,10) as string), '.',
           cast(conv(split(ipcolumn,'[.]')[2],16,10) as string), '.',
           cast(conv(split(ipcolumn,'[.]')[3],16,10) as string)
          )      
 from mytable;