cloudera impala将十六进制转换为ip地址的select命令

brc7rcf0  于 2021-06-26  发布在  Impala
关注(0)|答案(1)|浏览(337)

我需要为cloudera impala选择语句格式转换十六进制到ip地址。
假设给定了一个十六进制数(如下所示)。如何用select语句将其转换成impalalike:-
a、 59.第6章

fhg3lkii

fhg3lkii1#

你可以在Hive里用 split 把你的绳子分开 conv 从16进制转换为10进制;不幸的是,虽然 Impala 确实支持 conv ,看来 Impala 没有 split 自定义项内置,所以如果你被 Impala 困住了,你可能不得不自己写:(
配置单元代码:

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;

相关问题