Hive SQL獲取表中複雜結構資料

2021-10-03 12:29:02 字數 688 閱讀 2496

資料格式基本如下:

col1

""],""totalcount"":6,""couponexplain"":""優惠******x選、u(服******xx月),每******x次。""}"

方法一:當欄位col1是string型別時,我們可以直接使用中括號來獲取,

select col1['key的名字']

from ods.ods_***x

limit 1000

方法二:當欄位col1不是string型別是,我們用方法一去獲取的時候會報錯如下:

error while compiling statement: failed: semanticexception [error 10033]: line 1:7 not valid on non-collection types ''col1'': string

含義就是字段並非是string字串型別,我們需要使用特殊處理的方式,這裡我們可以使用:get_json_object(key,"$.***")

的方式來獲取。

例如:

select 

get_json_object(col1,'$.要獲取的key')

from ods.ods_***x

where activityid='14'

HiveSQL中複雜資料型別操作

hivesql執行優化引數配置 hivesql常用資料處理語句 hivesql中複雜資料型別操作 hive有三種複雜資料型別array map和struct,複雜資料型別允許任意層次的巢狀。目錄 array型別 map型別 struct型別 name與locations之間製表符分隔,locatio...

獲取表結構

sql server 2000 feixian sql server 2000 select 表名 case when a.colorder 1 then d.name else end 表說明 case when a.colorder 1 then isnull f.value,else end ...

獲取ACCESS表結構

經常有朋友問怎麼得到access的表結構。public sub gettables dim rs as new adodb.recordset dim conn as adodb.connection dim ssql as string set conn currentproject.connec...