AWS glue - athena インプットデータが二重引用符(")で囲まれている場合
AWS glue - athena インプットデータが二重引用符(")で囲まれている場合:
athenaでs3においてあるcsvファイルを検索したい
glueでクローラーかけて、athenaから検索すると思うんですが、
s3に配置してあるインプットデータの各項目が二重引用符(")で囲まれていると、数字項目が消えます。
⇒数字項目である「operationType」が消えている + 二重引用符(")がそのまま表示されてしまう。
glue => テープル => テーブルの編集
serdeシリアル化ライブラリを以下に変更
org.apache.hadoop.hive.serde2.OpenCSVSerde
⇒数字項目である「operationType」の値が表示された + 二重引用符(")は見えなくなった
OpenCSVSerde使うと、timestamp型を直でテーブル定義できない・・・
どなたか対策ご存知でしょうか。。。
AWS公式 CSV を処理するための OpenCSVSerDe
Apache Hive CSV Serde
やりたいこと
athenaでs3においてあるcsvファイルを検索したい
二重引用符(")で囲まれていることによる問題
glueでクローラーかけて、athenaから検索すると思うんですが、s3に配置してあるインプットデータの各項目が二重引用符(")で囲まれていると、数字項目が消えます。
インプットデータ
クローラー実行でできたテーブル
athena検索結果
⇒数字項目である「operationType」が消えている + 二重引用符(")がそのまま表示されてしまう。
対策「OpenCSVSerde」を使ってみる
変更前
glue => テープル => テーブルの編集
変更後
serdeシリアル化ライブラリを以下に変更org.apache.hadoop.hive.serde2.OpenCSVSerde
athena検索結果
⇒数字項目である「operationType」の値が表示された + 二重引用符(")は見えなくなった
残る課題
OpenCSVSerde使うと、timestamp型を直でテーブル定義できない・・・どなたか対策ご存知でしょうか。。。
参考
AWS公式 CSV を処理するための OpenCSVSerDeApache Hive CSV Serde
コメント
コメントを投稿