0
0

More than 1 year has passed since last update.

BigQuery日本語カラム自動変換ツールのアップデート

Last updated at Posted at 2021-12-19

以前、この記事で作ったWebアプリについて活用出来るユースケース、使い方、アップデート情報を紹介します。

ユースケース

  • 手元にあるエクセルデータのカラムが日本語で、BigQueryやAutoMLに入らない!

BigQueryやAutoMLを始めるにあたって、日本語カラムが障壁になっているも多いのではないでしょうか。
2021/12/19 現在、データセット名までは、Unicode対応が入っています。
近いうちにカラム名のUnicode対応が入ってくるとは思いますが、保守性の観点で物理名には英字を利用したい需要も多いと思います。

  • 一定のルールで機械的にカラムを日本語変換したい! メンテナンスしたい!

一旦変換したスキーマをjsonスキーマとしてエクスポート出来ます。
(今後、インポート出来る機能追加する予定です)
辞書登録機能として外部のcodicに任せることも出来ます。

使い方

動画を見ると使い方のイメージが付くはず
画面収録-2021-12-22-10.18.52.gif

導入方法

アプリは次の手順で実行出来ます。

1. git clone

ソースコード一式はこちらにあります。

git clone https://github.com/yasudakn/column-name-auto-generator

2. .envの作成

トップディレクトに.envファイルを作成します。

FRONTEND_PORT=3000
FRONTEND_CONTAINER_NAME=column-generator-frontend

REACT_APP_CODIC_URL=https://codic.jp/
REACT_APP_CODIC_API_URL=https://api.codic.jp/
REACT_APP_CODIC_API_REQUEST_MAX_LENGTH=24
REACT_APP_CODIC_PROJECT_ID= <codic-project-id>
REACT_APP_CODIC_API_TOKEN= <codic-api-token>

BACKEND_CONTAINER_NAME=column-generator-backend
BACKEND_PORT=3001

GOOGLE_APPLICATION_CREDENTIALS= /app/keys/<gcp-service-account-credentials-json-filepath>
PROJECT_ID= <gcp-project-id>
LOCATION= <gcp-location>
DATASET_ID= <bigquery-dataset-id>

codicのtokenは、free planでsignupした後に、apiステータスのメニューで取得出来ます。
GCPで次の権限を付加したサービスアカウントを作成し、keysの配下にjson秘密鍵を作成して置きます。GOOGLE_APPLICATION_CREDENTIALSには、そのパスを配置します。

  • BigQuery ジョブユーザー
  • BigQuery データ編集者

3. docker-composeで実行

docker-compose up --build

アップデート情報

最近のアップデートの内容です。
次のようなバグ対応と機能追加が入っています。

  • jsonスキーマの出力、ダウンロード(取り込みは未対応)
  • データ型の自動判定(数値は一律float64、画面上でカスタマイズ可能)
  • 文字コード自動判定、utf-8自動変換
  • エラー時の途中リトライ
  • 先頭の数字,記号の取り除き
  • 記号の取り除き
  • 変換不可の日本語の取り除き
  • codicプロジェクトIDなしでも動くように

スクリーンショット 2021-12-19 21.19.37.png

アップデート予定

  • カスタム辞書
  • codic以外の変換API対応(わかち書きした後に、Google翻訳にかける等)
  • jsonスキーマのインポート
  • BigQuery以外のRDBMSなどへの対応
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0