1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AWS Glueのテーブルに「OpenCSVSerde」を設定してみた

Last updated at Posted at 2018-10-24

やりたいこと

athenaでs3においてあるcsvファイルを検索したい

二重引用符(")で囲まれていることによる問題

glueでクローラーかけて、athenaから検索すると思うんですが、
s3に配置してあるインプットデータの各項目が二重引用符(")で囲まれていると、数字項目が消えます。

インプットデータ

image.png

クローラー実行でできたテーブル

image.png

athena検索結果

image.png

⇒数字項目である「operationType」が消えている + 二重引用符(")がそのまま表示されてしまう。

対策「OpenCSVSerde」を使ってみる

変更前

glue => テーブル => テーブルの編集
image.png

変更後

serdeシリアル化ライブラリを以下に変更
org.apache.hadoop.hive.serde2.OpenCSVSerde
image.png

athena検索結果

image.png

⇒数字項目である「operationType」の値が表示された + 二重引用符(")は見えなくなった

残る課題

OpenCSVSerde使うと、timestamp型を直でテーブル定義できない・・・
どなたか対策ご存知でしょうか。。。
 ⇒自己解決:インプットデータが「UNIX 形式の TIMESTAMP」 であればOK
  ※参考 wikipedia UNIX時間

参考

AWS公式 CSV を処理するための OpenCSVSerDe
Apache Hive CSV Serde

SerDeの読み方は「サーディー」

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?