GCSのファイルを、BigQueryへ前日分を自動的に取込
SQLの機能を利用して定期取込み自動化
1 特に下記新機能を使ってみたい
1. CREATE OR REPLACE EXTERNAL TABLE (外部ストレージの読み取りと書き込み)
2. EXECUTE IMMEDIATE (スクリプティングと SQL の改善)
↓半年前っぽいが最近気づいた、他にも参考になりました
2 やりたい事
3 利用データ
列名 | 型 |
---|---|
TABLE_SCHEMA | STRING |
TABLE_NAME | STRING |
TABLE_ROWS | INT64 |
TABLE_COMMENT | STRING |
4 実行SQL
transfer.sql
/*1 日付変数を定義*/
DECLARE yyyymmdd INT64 DEFAULT 20210601;
SET yyyymmdd = (SELECT CAST(FORMAT_DATE("%G%m%d",CURRENT_DATE() -1) as INT64)) ;
/*2 GCSとの外部接続テーブル作成*/
EXECUTE IMMEDIATE format("""
CREATE OR REPLACE EXTERNAL TABLE <外部接続テーブル名>(TABLE_SCHEMA STRING,TABLE_NAME STRING,TABLE_ROWS INT64,TABLE_COMMENT STRING)
OPTIONS
(uris=["gs://<パケット名>/<フォルダ名>/table_%d.csv"], skip_leading_rows=1,format=CSV)
""", yyyymmdd);
/*3 外部接続テーブルから、実テーブル作成*/
EXECUTE IMMEDIATE format("""
CREATE OR REPLACE TABLE `<project名>`.test.table_%d
as (select * from <外部接続テーブル名>)
""", yyyymmdd);
5 スケジュールに登録し、実行
6 まとめ
Author And Source
この問題について(GCSのファイルを、BigQueryへ前日分を自動的に取込), 我々は、より多くの情報をここで見つけました https://qiita.com/Ken-taro/items/f446949b89a790eee463著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .