1

レポート用にデータを処理するために dataprep を使用しようとしています。

ただし、配列であるはずのフィールドは、bigquery では文字列として認識されます。

サンプルデータ:

{"name":"herman","age":34,"property":[{"address":"henry street","state":"vic"},{"address":"mount waverley","state":"vic"}]}
{"name":"Handry","age":61,"property":[{"address":"Balwyn","state":"vic"},{"address":"Clayton","state":"vic"}]}

基本的に、いくつかのフィールドを大文字にしたいだけです(これは単純な例にすぎません。私は非常に複雑な変換を行っています)。Wrangle ファイルは次のとおりです。

flatten col: property
unnest col: property keys: 'state','address' markLineage: true
drop col: property
derive value: upper(property_address) as: 'upper_property_address'
drop col: property_address
derive value: upper(property_state) as: 'upper_property_state'
drop col: property_state
nest col: upper_property_state,upper_property_address as: 'column1'
derive value: list(column1, 1000) group: name as: 'column2'
drop col: column1,upper_property_address,upper_property_state
deduplicate

そして最後にbigquery(テーブル内)になります:

{"age":"61","name":"Handry","column2":"[{\"upper_property_state\":\"VIC\",\"upper_property_address\":\"BALWYN\"},{\"upper_property_state\":\"VIC\",\"upper_property_address\":\"CLAYTON\"}]"}
{"age":"34","name":"herman","column2":"[{\"upper_property_state\":\"VIC\",\"upper_property_address\":\"HENRY STREET\"},{\"upper_property_state\":\"VIC\",\"upper_property_address\":\"MOUNT WAVERLEY\"}]"}

私はこれをグーグルの問題でも尋ねます。 https://issuetracker.google.com/issues/69773118

疑問に思っているのですが、誰かがこの問題を抱えていて、回避策がありますか? ここで説明されているように、biquery で JSON をクエリできることはわかっています: How to query json stored as string in bigquery table?

ただし、クエリが複雑になるため、避けたいと思います。

4

0 に答える 0