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