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

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

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

関連記事

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

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

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

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

クラウドストレージ比較 〜Dropbox、iCloud、Adobe CC〜

Mac新調に伴い、ローカルストレージが256SSDになってしまったので、ローカル保存を極力排除しクラウドストレージへの移行を検討。 ざっくり必要な要件は以下。 メインマシンはMacだが、Windows …

【超初心者向け】githubでテーマファイルをバージョン管理する

恥ずかしながらgitでリモートリポジトリ管理するのが初めてなので自分用のメモ。 目次 やりたいこと 動作環境・前提 テーマファイルをmasterブランチで管理するまで 開発用のfeatureブランチ作 …

【備忘】ChromeのMarkdown Preview Plusプラグインでプレビューできなくなった時の対処法

ChromeでMarkdown Preview Plusというプラグインを使ってライトにマークダウンを読んでたんだが、急にマークダウンがPreviewできなくなった。 色々試した結果、なぜかファイルU …