データセットの管理
このドキュメントでは、BigQuery でデータセットを管理する方法について説明します。データセットを作成した後、以下のようにデータセットを管理できます。
始める前に
このドキュメントの各タスクを実行するために必要な権限をユーザーに与える Identity and Access Management(IAM)のロールを付与します。タスクの実行に必要な権限(存在する場合)は、タスクの「必要な権限」セクションに記載されています。
データセットの名前変更
現在、既存のデータセットの名前を変更することはできませんが、データセットをコピーすることはできます。データセットのコピーをご覧ください。
データセットのコピー
データセットをコピーする手順(リージョン間でのコピーを含む)については、データセットのコピーをご覧ください。
データセットの移動
データセットをあるロケーションから別のロケーションに手動で移動するには、次の手順を行います。
-
データセットと同じロケーションか、データセットのロケーションに含まれるロケーションにある Cloud Storage バケットに、BigQuery テーブルからデータをエクスポートします。たとえば、データセットが「EU」のマルチリージョン ロケーションにある場合、データは EU の一部となる「europe-west1」(ベルギーのロケーション)にエクスポートできます。
BigQuery からのデータのエクスポートに対しては課金されませんが、エクスポートしたデータを Cloud Storage に保存する場合は課金の対象になります。BigQuery からのエクスポートには、エクスポート ジョブの上限が適用されます。
-
データを、Cloud Storage のエクスポート バケットから転送先の場所に作成した新しいバケットに、コピーまたは移動します。たとえば、「US」(マルチリージョン)から「asia-northeast1」(東京リージョン)にデータを移動すると、東京で作成したバケットにデータが転送されます。Cloud Storage オブジェクトの転送について詳しくは、Cloud Storage ドキュメントのオブジェクトのコピー、名前変更、移動をご覧ください。
リージョン間でデータを転送すると、Cloud Storage でネットワークの下り(外向き)料金が発生することに注意してください。
-
新しいロケーションの Cloud Storage バケットにデータを転送した後、新しい BigQuery データセットを(新しいロケーションに)作成します。次に、Cloud Storage バケットから BigQuery にデータを読み込みます。
BigQuery へのデータの読み込みに対しては課金されませんが、Cloud Storage にデータを保存した場合は課金の対象となり、データまたはバケットを削除するまで料金が請求されます。読み込まれたデータを BigQuery に保存することについても、請求の対象になります。BigQuery へのデータの読み込みには、読み込みジョブの上限が適用されます。
また、Cloud Composer を使用して、大規模なデータセットをプログラムで移動し、コピーすることもできます。
Cloud Storage を使用した大量のデータセットの保存や移動に関する詳細は、Cloud Storage とビッグデータの使用をご覧ください。
データセットが存在するかどうかを確認する
Java
このサンプルを試す前に、BigQuery クイックスタート: クライアント ライブラリの使用の Java の手順に沿って設定を行ってください。詳細については、BigQuery Java API のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、BigQuery クイックスタート: クライアント ライブラリの使用の Python の手順に沿って設定を行ってください。詳細については、BigQuery Python API のリファレンス ドキュメントをご覧ください。
データセットの削除
データセットは、次の方法で削除できます。
- Cloud コンソールを使用する。
bq
コマンドライン ツールでbq rm
コマンドを使用する。datasets.delete
API メソッドを呼び出す。- クライアント ライブラリを使用する。
必要な権限
データセットを削除するには、次の IAM 権限が必要です。
bigquery.datasets.delete
(データセットを削除できます)bigquery.tables.delete
(テーブルとビューを削除できます)
次の IAM 事前定義ロールには、データセットを削除するために必要な権限が含まれています。
roles/bigquery.dataOwner
roles/bigquery.admin
また、bigquery.datasets.create
権限がある場合は、作成したデータセットとテーブルを削除できます。
BigQuery での IAM のロールと権限については、事前定義ロールと権限をご覧ください。
データセットの削除
Cloud Console を使用してデータセットを削除すると、データセット内のテーブルとビュー(およびそこに含まれるデータ)が削除されます。bq
コマンドライン ツールを使用してデータセットを削除する場合は、-r
フラグを使用してデータセットのテーブルとビューを削除する必要があります。
データセットを削除するには:
Console
[エクスプローラ] パネルでプロジェクトを開いて、データセットを選択します。
アクション オプションを開いて、[削除] をクリックします。
[データセットの削除] ダイアログで、テキスト ボックスに「
"delete"
」と入力してから [削除] をクリックします。
SQL
データセットを削除するには、DROP SCHEMA
ステートメントを使用します。
次の例では、mydataset
という名前のデータセットを削除します。
DROP SCHEMA IF EXISTS mydataset
BigQuery で SQL クエリを実行する方法について詳しくは、インタラクティブ クエリとバッチクエリのジョブの実行をご覧ください。
bq
データセットを削除するには、bq rm
コマンドを --dataset
または -d
ショートカット フラグ付き(省略可)で使用します。bq
コマンドライン ツールを使用してデータセットを削除する場合は、コマンドを確認する必要があります。-f
フラグを使用すると、確認をスキップできます。
また、データセット内にテーブルがある場合は、-r
フラグを使用してデータセット内のすべてのテーブルを削除する必要があります。削除するテーブルがデフォルト プロジェクト以外のプロジェクトにある場合は、project_id:dataset
の形式でプロジェクト ID をデータセット名に追加します。
bq rm -r -f -d project_id:dataset
次のように置き換えます。
project_id
はプロジェクト ID です。dataset
は、削除するデータセットの名前です。
例:
デフォルトのプロジェクトから mydataset
と含まれるすべてのテーブルを削除するには、次のコマンドを入力します。このコマンドではオプションの -d
ショートカットを使用しています。
bq rm -r -d mydataset
プロンプトが表示されたら、「y
」と入力して Enter キーを押します。
myotherproject
から mydataset
と含まれるすべてのテーブルを削除するには、次のコマンドを入力します。このコマンドではオプションの -d
ショートカットを使用していません。確認をスキップするために -f
フラグを使用しています。
bq rm -r -f myotherproject:mydataset
API
datasets.delete
メソッドを呼び出してデータセットを削除します。その際、データセット内のテーブルも削除するには、deleteContents
パラメータを true
に設定します。
C#
このサンプルを試す前に、BigQuery クイックスタート: クライアント ライブラリの使用にある C# の設定手順を行ってください。詳細については、BigQuery C# API のリファレンス ドキュメントをご覧ください。
Go
このサンプルを試す前に、BigQuery クイックスタート: クライアント ライブラリの使用の Go の手順に沿って設定を行ってください。詳細については、BigQuery Go API のリファレンス ドキュメントをご覧ください。
Java
このサンプルを試す前に、BigQuery クイックスタート: クライアント ライブラリの使用にある Java の設定手順を行ってください。詳細については、BigQuery Java API のリファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、BigQuery クイックスタート: クライアント ライブラリの使用の Node.js の手順に沿って設定を行ってください。詳細については、BigQuery Node.js API のリファレンス ドキュメントをご覧ください。
PHP
このサンプルを試す前に、BigQuery クイックスタート: クライアント ライブラリの使用にある PHP の設定手順を行ってください。詳細については、BigQuery PHP API のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、BigQuery クイックスタート: クライアント ライブラリの使用にある Python の設定手順を行ってください。詳細については、BigQuery Python API のリファレンス ドキュメントをご覧ください。
Ruby
このサンプルを試す前に、BigQuery クイックスタート: クライアント ライブラリの使用にある Ruby の設定手順を行ってください。詳細については、BigQuery Ruby API のリファレンス ドキュメントをご覧ください。
データセットとそのコンテンツを削除するには:
C#
このサンプルを試す前に、BigQuery クイックスタート: クライアント ライブラリの使用にある C# の設定手順を行ってください。詳細については、BigQuery C# API のリファレンス ドキュメントをご覧ください。
Java
このサンプルを試す前に、BigQuery クイックスタート: クライアント ライブラリの使用にある Java の設定手順を行ってください。詳細については、BigQuery Java API のリファレンス ドキュメントをご覧ください。
Ruby
このサンプルを試す前に、BigQuery クイックスタート: クライアント ライブラリの使用にある Ruby の設定手順を行ってください。詳細については、BigQuery Ruby API のリファレンス ドキュメントをご覧ください。
データセットのセキュリティ
BigQuery でデータセットへのアクセスを制御するには、データセットへのアクセスの制御をご覧ください。データ暗号化の詳細については、保存データの暗号化をご覧ください。
次のステップ
- データセット作成の詳細については、データセットの作成をご覧ください。
- データセットの更新の詳細については、データセットの更新をご覧ください。
- データセットのコピーの詳細については、データセットのコピーをご覧ください。