Help us understand the problem. What is going on with this article?

BigQueryでスキーマの自動検出をする

概要

データパイプライン用のファイルのストレージをGoogle Cloudに構築するケース。JSONファイルをサポートする必要があって、JSONファイルのスキーマが変更される可能性があり、集計実行用の ANSI SQL クエリを使用する場合は、スキーマの自動検出を行うとよい(らしい)。

仕組み

サンプルを抽出し、そこから推定を行っている。

自動検出を有効にすると、BigQuery はデータソース内でランダムにファイルを選択します。ファイルの最大 100 行をスキャンして代表的なサンプルとして使用し、推定プロセスを開始します。BigQuery は、各フィールドを検証し、そのサンプル内の値に基づいてそのフィールドにデータ型を割り当てようとします。

設定

新旧UIで設定項目が異なる。

GCP Console: [スキーマ] セクションの [自動検出] で、[スキーマと入力パラメータ] オプションをオンにします。
従来の BigQuery ウェブ UI: [Schema] セクションで、[Automatically detect] オプションをオンにします。

懸念

ファイルをランダムに選択するのと、ファイルの最大100行のスキャンなので、実際に業務で利用する場合はこれに頼らず、明示的に指定するか、スキーマのデータが確実にそのデータ型の場合のみ自動検出を使ったほうがよさそう。

参考

スキーマの自動検出の使用
https://cloud.google.com/bigquery/docs/schema-detect?hl=ja

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした