1. ホーム
  2. amazon-web-services

[解決済み] LATERAL VIEW EXPLODE in presto(ラテラルビュー エクスプロード イン プレスト

2022-02-06 19:15:27

質問

prestoの初心者ですが、以下のテーブルに対してprestoのLATERAL VIEW EXPLODEを使用する方法について教えてください。

prestoのクエリで名前にフィルタをかけたいのですが。

CREATE EXTERNAL TABLE `id`(
 `id` string,
 `names` map<string,map<string,string>>,
 `tags` map<string,map<string,string>>)
ROW FORMAT SERDE
 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' 
STORED AS INPUTFORMAT
 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' 
OUTPUTFORMAT
 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION
 's3://test'

;

サンプル names 値です。

{3081={short=Abbazia 81427 - Milan}, 2057={short=Abbazia 81427 - Milan}, 1033={short=Abbazia 81427 - Milan}, 4105={short=Abbazia 81427 - Milan}, 5129={short=Abbazia 81427 - Milan}}

解決方法は?

以下のクエリを実行すると、マッピングされたデータを取得することができます。

select
id
,names['1033']['short'] as srt_nm
from id;