結論
sql
CREATE OR REPLACE EXTERNAL TABLE your_table
(
col1 INT64,
col2 STRING,
col3 DATE,
)
OPTIONS (
format = 'CSV',
skip_leading_rows = 1,
uris = ['your_path']
);
こんなに簡単にGCSのCSVデータをBQで表現できるのですが、2点ハマったところがあり記載します。
ハマったところ1
formatパラメータでエクセル形式のデータを指定できない
最初はGCSにエクセルの形式でデータを入れており、OPTION部分の指定を
sql
OPTIONS (
format = 'EXCEL',
skip_leading_rows = 1,
uris = ['your_path']
);
と指定していました。
流石にエクセルはいけると思い込んでずっと違うところでエラーを探していました...
ハマったところ2
CREATE OR REPLACE 'EXTERNAL' TABLE
GCSからデータを読み込み、テーブルを構築する際、CREATE TABLEではなく、CREATE EXTERNAL TABLEで指定する必要があります。
DBを更新しようと
CREATE EXTERNAL TABLEから
CREATE OR REPLACE TABLEに変更してしまい、エラーが返ってきました。
とても初歩的な部分ですが、自分用に執筆させていただきました🙇