MySQL の CREATE TABLE から BigQuery のスキーマ(json)を生成する

Sep 11, 2020 13:43 · 99 words · 1 minute read

ddlparseというモジュールを使うと簡単だった

コードはこれだけでよい

import sys
from ddlparse import DdlParse

sql = sys.stdin.read()
table = DdlParse().parse(sql)
print(table.to_bigquery_fields())

こんな感じで生成される

$ cat /tmp/__.sql | python ./generate-bigquery-schema-from-mysql-create-table.py  | jq . | head
[
  {
    "name": "id",
    "type": "INTEGER",
    "mode": "REQUIRED"
  },
  {
    "name": "name",
    "type": "string",
    "mode": "REQUIRED"
tweet Share