とあるエンジニアの作業ブログ

CI GCP クラウド 作業効率化

Cloud DataprepでExcelをBigQueryに定期取込みしようとしたけどできなかったはなし

投稿日:

GCPのCloud Dataprep by TrifactaでExcelデータをBQに取り込む試行錯誤をあれやこれやした時のメモ。
結局やりたかったことは実現できなかった。。。

実現したいこと:GCSに置かれたExcelを定期的にBQにAppend

これ、結局できなかった。
要は、「hogehoge_202004.xlsx」「hogehoge_202003.xlsx」みたいな年月サフィックス付きのExcelファイルをCSVやらスプレッドシートに変換せずにそのままBQに取り込みたくて、「Dataprepなら行けるのでは!?」と思い立ち色々試行錯誤したんですが、結局無理そう。

理由は、DataprepではExcel形式を確かにサポートしているけどGCSに置かれているExcelファイルはbinaryとして認識してしまうっぽい。
ローカルからのアップロードなら正しくExcel形式として認識してくれる。

以下試してみた手順。

新規フローを作成。
create flow

naming flow

データセットを指定。ここでGCSに格納された今月のExcelを読み込むようにしたっかったので「import dataset」を指定。
add dataset

import dataset

パラメタ(Parameterized path)を使ってサフィックスを指定する。
select dataset

Parameterized path1

Parameterized path2

Parameterized path3

ここまではいい感じだったが、、、
import binary

文字化けとるがや。。。
「Edit Setting」を押して詳細を見てみても、1 columnしか認識されてないし。。。
Dataset with Parameter

でダメ元で試しにrunさせてみたところ、、、
Error

当然のようにダメでした。。。そりゃそうでしょうね。

他に試したこと:手動でのインポート

で、結論ダメだったけど手動アップロードならExcel取り込めるのでそれもやってみたが、、、めちゃくちゃクセがある!
というか未完成品!?と思うぐらい挙動が不安定でわかりづらかったのでメモ。まだ実運用に耐えうる代物ではないかも。

手動インポート1

手動インポート2

手動インポート3

手動インポート4

手動インポート5

と、ここまでやって正しく読み込めれば右側にpreviewが出てくるはずだが、ローディング中、もしくは「preview not available」でいつまで経ってもpreviewが出てこないケースがある。
in progress

preciew not available

この状態のまま無理やり進めると、後続のflow作成でrecipe編集ができず詰む。
読み込みが終わらない時は「command + R」でブラウザリロードするという、なんとも言えない荒技で解決するときがある。
ダメなら何回かインポートをやり直すとうまくいく。
ちなみにファイルサイズがでかいとかは、(発生頻度には関係するかもだけど)本質的に当該事象の発生有無には関係ない。テスト用に作った数KBのファイルでも1回発生したのでフロントサイドの処理の問題くさい。

正しく読み込めるとこんな感じ。
手動インポート6

-CI, GCP, クラウド, 作業効率化
-, , , ,

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

【備忘】Google Cloud Functionのへろわメモ

GCFのへろわメモ 仕事で初めてGoogle Cloud Functionを使うことになったのでへろわのメモ。 このサイトとこのサイトを参考にした。 環境構築 gcloudコマンド使えるようにする。公 …

Google Apps ScriptでG DriveのExcelをスプレッドシートに変換

GASでG Driveに保存されているExcelをGoogle スプレッドシートに一括変換する仕組みを作った。 目次 実現したいこと ソースコードと解説 実現したいこと G Driveに保存されている …

【備忘】dockerグループに一般ユーザーを追加する

EC2のUbuntuにdockerをインストールすると、そのままだと、 Got permission denied while trying to connect to the Docker daem …

【備忘】EC2に新規のキーペアで接続する

EC2に新規のキーペアで接続したとき時のメモ。 AWSコンソール:左側のナビゲーションペインの「ネットワーク & セキュリティ」の「キーペア」から新規キーペアを作成 クライアントPC:新規キ …

【備忘】MacのExcelの自分的よく使うけど忘れがちなショートカット

MacのExcelのショートカット備忘録。個人的によく使うけど忘れがちなショートカットのみメモ。(感覚的にWindowsとほぼ同じやつは記載割愛) 作業内容 ショートカット セルの編集モードに入る c …