CData Cloud は、クラウドホスト型のソリューションで、複数の標準サービスやプロトコルにまたがるGoogle BigQuery へのアクセスを実現します。MySQL またはSQL Server データベースに接続できるアプリケーションであれば、CData Cloud を介してGoogle BigQuery に接続できます。
CData Cloud により、他のOData エンドポイントや標準SQL Server / MySQL データベースと同じように、Google BigQuery への接続を標準化し、構成することができます。
このページでは、CData Cloud でのGoogle BigQuery への接続の確立 のガイド、利用可能なリソースに関する情報、および使用可能な接続プロパティのリファレンスについて説明します。
接続の確立 は、CData Cloud にデータベースを作成するためのGoogle BigQuery への認証方法と必要な接続プロパティの設定方法について示します。
利用可能な標準サービスを経由してGoogle BigQuery からデータにアクセスする方法と、CData Cloud の管理については、CData Cloud ドキュメント で詳しく説明します。
Database タブで対応するアイコンを選択して、Google BigQuery に接続します。必須プロパティはSettings にリストされています。Advanced タブには、通常は必要ない接続プロパティが表示されます。
Cloud は、認証にユーザーアカウントおよびGCP インスタンスアカウントの使用をサポートします。
以下のセクションでは、Google BigQuery の利用可能な認証スキームについて説明します。
AuthScheme は、すべてのユーザーアカウントフローでOAuth に設定する必要があります。
OAuth アクセストークンの取得
次の接続プロパティを設定し、OAuthAccessToken を取得します。
続いてストアドプロシージャを呼び出し、OAuth 交換を完了します。
アクセストークンとリフレッシュトークンを取得すると、データに接続し、OAuth アクセストークンを自動または手動でリフレッシュすることができるようになります。
OAuth アクセストークンの自動リフレッシュ
ドライバーがOAuth アクセストークンを自動的にリフレッシュするようにするには、最初のデータ接続で次のように設定します。
OAuth アクセストークンの手動リフレッシュ
データ接続時に手動でOAuth アクセストークンをリフレッシュするために必要な値は、OAuth リフレッシュトークンのみです。
GetOAuthAccessToken によって返されたExpiresIn パラメータ値が経過した後に、RefreshOAuthAccessToken ストアドプロシージャを使用し、手動でOAuthAccessToken をリフレッシュします。次の接続プロパティを設定します。
次に、RefreshOAuthAccessToken を呼び出し、OAuthRefreshToken にGetOAuthAccessToken によって返されたOAuth リフレッシュトークンを指定します。新しいトークンが取得できたら、OAuthAccessToken プロパティにRefreshOAuthAccessToken によって返された値を設定し、新しい接続をオープンします。
最後に、OAuth リフレッシュトークンを保存し、OAuth アクセストークンの有効期限が切れた後に手動でリフレッシュできるようにします。
オプション1:Verifier code を取得および交換
Verifier code を取得するには、OAuth Authorization URL で認証する必要があります。
インターネットブラウザに対応したマシンから認証してOAuthVerifier 接続プロパティを取得する方法は次のとおりです。
ヘッドレスマシンでは、次の接続プロパティを設定してOAuth 認証値を取得します。
OAuth 設定ファイルが生成されたら、以下のように接続プロパティをリセットする必要があります。
オプション2:OAuth 設定を転送
ヘッドレスマシンでの接続に先立ち、インターネットブラウザに対応したデバイスでドライバとの接続を作成し、インストールする必要があります。上述の「デスクトップアプリケーション」の説明に従って、接続プロパティを設定します。
「デスクトップアプリケーション」の手順が完了すると、生成された認証値は、OAuthSettingsLocation で指定された場所に暗号化されて書き込まれます。デフォルトのファイル名はOAuthSettings.txt です。
接続が正常にテストされたら、OAuth 設定ファイルをヘッドレスマシンにコピーします。
ヘッドレスマシンで、次の接続プロパティを設定し、データに接続します。
GCP 仮想マシン上で実行している場合は、Cloud は仮想マシンに関連付けられたサービスアカウントを使用して認証できます。 このモードを使用するには、AuthScheme をGCPInstanceAccount に設定します。
次のセクションでは、高度な統合で必要となるCloud 機能を設定する方法を説明します。
大きな結果セットは、テンポラリテーブルまたは永続テーブルに保存する必要があります。 次のプロパティを使用して、テーブルの永続性を制御できます。
Enable the AllowLargeResultSets property to make the Cloud automatically create destination tables when needed. If a query result is too large to fit the BigQuery query cache, the Cloud creates a hidden dataset within the data project and re-executes the query with a destination table in that dataset. The dataset is configured so that all tables created within it expire in 24 hours.
In some situations you may want to change the name of the dataset created by the Cloud. For example, if multiple users are using the Cloud and do not have permissions to write to datasets created by the other users. See TempTableDataset for details on how to do this.
Enable the DestinationTable property to make the Cloud write query results to the given table. Writing query results to a single table imposes several limitations that you should keep in mind when using this option:
接続内の任意のクエリの最大コストに対する制限をオーバーライドするには、MaximumBillingTier を設定します。
Google BigQuery では、行のバッチを操作するためのインターフェースがいくつか提供されています。 Cloud は、InsertMode オプションを経由してこれらのメソッドをサポートしており、それぞれが異なるユースケースに特化しています。
バルクINSERT に加えて、Cloud はバルクUPDATE およびDELETE 操作の実行もサポートします。 そのためには、Cloud は設定するフィルタと行を含むデータをBigQuery の新しいテーブルにアップロードし、2つのテーブル間でMERGE を実行してテンポラリテーブルをドロップする必要があります。 InsertMode は、テンポラリテーブルに行を挿入する方法を決定しますが、Streaming モードとDML モードはサポートされていません。
ほとんどの場合、Cloud はバルクアップデートのSET 句とWHERE 句のどちらにどのカラムが必要かを判断できます。 「バルクUPDATE をサポートするには、主キーを定義してください」といったエラーが表示された場合は、PrimaryKeyIdentifiers を使用して、キーとして扱うカラムをCloud に指示できます。 更新では、キーカラムの値は一致する行を見つけるためにのみ使用され、値の更新はできません。
デフォルトでは、Cloud はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL / TLS のネゴシエーションを試みます。
別の証明書を指定するには、利用可能なフォーマットについてSSLServerCert プロパティを参照してください。
Windows のシステムプロキシ経由の接続では、接続プロパティを追加で設定する必要はありません。他のプロキシに接続するには、ProxyAutoDetect をfalse に設定します。
さらにHTTP プロキシへの認証には、ProxyServer とProxyPort に加えてProxyAuthScheme、ProxyUser、およびProxyPassword を設定します。
次のプロパティを設定します。
CData Cloud は、ProjectId とDatasetId が設定されているGoogle BigQuery 内で定義されたデータをモデル化します。
ビュー は変更ができないクライアントサイドのテーブルです。Cloud はこれらを使って、接続しているGoogle BigQuery のプロジェクトやデータセットに関するメタデータをレポートします。
さらに、Cloud はGoogle BigQuery 内で定義されたサーバーサイドのビューもサポートしています。 これらのビューは、テーブルと同じ方法でSELECT ステートメントで使用できます。 しかしながら、ビュースキーマは容易に古くなってしまうためCloud でリフレッシュが必要です。 詳しくは、RefreshViewSchemas を参照してください。
Google BigQuery はAmazon S3リージョン(aws-us-east-1など)やAzure Storage リージョン(azure-useast2など)にデータを保存する外部データセットを作成できます。 Cloud はこれらのデータセットをサポートしますが、2つの大きな制約があります。
ストアドプロシージャ は、データソースのファンクションライクなインターフェースです。Cloud はこれらを使用してGoogle BigQuery のテーブルやジョブを管理し、OAuth の操作を行います。
Cloud が提供するクライアント側のストアドプロシージャに加え、Google BigQuery で定義されたサーバー側のストアドプロシージャもサポートされます。
Cloud はプロシージャのパラメータ名を使用したCALL およびEXEC の両方をサポートしています。
Cloud はIN パラメータおよび結果セットの戻り値のみをサポートすることに注意してください。
CALL `psychic-valve-137816`.Northwind.MostPopularProduct() CALL `psychic-valve-137816`.Northwind.GetStockedValue(24, 0.75) EXEC `psychic-valve-137816`.Northwind.MostPopularProduct EXEC `psychic-valve-137816`.Northwind.GetSockedValue productId = 24, discountRate = 0.75
Google BigQuery はテーブルの設定記述をサポートしますが、Cloud はデフォルトではこれらをレポートしません。 ShowTableDescriptions は、テーブルの説明をレポートするために使用できます。
Google BigQuery は主キーを元々サポートしていませんが、Cloud は主キーを定義できるため、データを修正するために主キーを必要とする環境でも使用できます。 主キーは、PrimaryKeyIdentifiers オプションで定義できます。
データカタログサービスのポリシータグがテーブルで定義されている場合、PolicyTags カラムを使用してシステムテーブルから取得できます。
SELECT ColumnName, PolicyTags FROM sys_tablecolumns WHERE CatalogName = 'psychic-valve-137816' AND SchemaName = 'Northwind' AND TableName = 'Customers
テーブル定義は、接続文字列オプションにて指定されたGoogle Bigquery のProject やDataset を元に動的に生成されます。
ビューは、データを示すという点でテーブルに似ていますが、ビューは読み取り専用です。
クエリは、ビューに対して通常のテーブルと同様に実行することができます。
Name | Description |
Datasets | 指定されたプロジェクトのアクセス可能なデータセットをすべてリストします。 |
PartitionsList | テーブルのパーティション定義をリストします。 |
PartitionsValues | テーブルのパーティション範囲をリストします。 |
Projects | 許可されたユーザーのプロジェクトをすべてリストします。 |
指定されたプロジェクトのアクセス可能なデータセットをすべてリストします。
Name | Type | Description |
Id [KEY] | String | データセットの一意の完全修飾不透過ID。 |
Kind | String | リソースタイプ。 |
FriendlyName | String | データセットのわかりやすい名前。 |
DatasetReference_ProjectId | String | コンテナプロジェクトへの一意の参照。 |
DatasetReference_DatasetId | String | プロジェクト名を使用しない、データセットへの一意の参照。 |
テーブルのパーティション定義をリストします。
Name | Type | Description |
Id [KEY] | String | パーティションの一意の識別子。 |
ProjectId | String | テーブルが属するプロジェクト。 |
DatasetId | String | テーブルが属するデータセット。 |
TableName | String | テーブル名。 |
ColumnName | String | パーティションに使用する列の名前。 |
ColumnType | String | パーティション列のタイプ。 |
Kind | String | テーブルが使用するパーティションのタイプ。DATE、RANGE、INGESTION のいずれか。 |
RequireFilter | Boolean | テーブルをクエリするためにパーティション列のフィルタが必要かどうか。 |
テーブルのパーティション範囲をリストします。
Name | Type | Description |
Id | String | パーティションの一意の識別子。 |
RangeLow | String | パーティション列の最小値。Kind がRANGE の場合は整数、それ以外の場合は日付。 |
RangeHigh | String | パーティション列の最大値。Kind がRANGE の場合は整数、それ以外の場合は日付。 |
RangeInterval | String | 各パーティションに含まれる値の範囲。Kind がRANGE の場合のみ有効。 |
DateResolution | String | TIME またはINGESTION パーティション列に対して、date がどれだけ重要であるか。DAY、HOUR、MONTH、YEAR のいずれか。 |
許可されたユーザーのプロジェクトをすべてリストします。
Name | Type | Description |
Id [KEY] | String | プロジェクトの一意の識別子。 |
Kind | String | リソースタイプ。 |
FriendlyName | String | プロジェクトのわかりやすい名前。 |
NumericId | String | プロジェクトの数値ID。 |
ProjectReference_ProjectId | String | プロジェクトへの一意の参照。 |
ストアドプロシージャはファンクションライクなインターフェースで、Google BigQuery の単純なSELECT/INSERT/UPDATE/DELETE 処理にとどまらずCloud の機能を拡張します。
ストアドプロシージャは、パラメータのリストを受け取り、目的の機能を実行し、プロシージャが成功したか失敗したかを示すとともにGoogle BigQuery から関連するレスポンスデータを返します。
Name | Description |
CancelJob | 実行中のBigQuery ジョブをキャンセルします。 |
DeleteTable | 指定されたテーブルをGoogle BigQuery から削除します。 |
GetJob | 既存のジョブの設定情報と実行ステータスを取得します。 |
InsertJob | Google BigQuery ジョブを挿入します。このジョブは、後でクエリの結果を取得するために選択できます。 |
InsertLoadJob | Inserts a Google BigQuery load job, which adds data from Google Cloud Storage into an existing table. |
実行中のBigQuery ジョブをキャンセルします。
Name | Type | Description |
JobId | String | キャンセルするジョブのId。 |
Region | String | ジョブが実行されているリージョン。ジョブがUS またはEU リージョンの場合は不要です。 |
Name | Type | Description |
JobId | String | キャンセルされたジョブのJobId。 |
Region | String | ジョブが実行されていたリージョン。 |
Configuration_query_query | String | キャンセルされたジョブのクエリ。 |
Configuration_query_destinationTable_tableId | String | キャンセルされたジョブの対象テーブルのtableId。 |
Configuration_query_destinationTable_projectId | String | 新しく挿入されたジョブの対象テーブルのprojectId。 |
Configuration_query_destinationTable_datasetId | String | 新しく挿入されたジョブの対象テーブルのdatasetId。 |
Status_State | String | ジョブの実行状態。 |
Status_errorResult_reason | String | エラーの概要を示す短いエラーコード。 |
Status_errorResult_message | String | エラーの可読文字列。 |
指定されたテーブルをGoogle BigQuery から削除します。
Name | Type | Description |
TableId | String | 削除するテーブルのTableId。ProjectIdとDatasetId は、接続プロパティから取得されますが、projectId:datasetId.TableId の形式でオーバーライドすることもできます。 |
Name | Type | Description |
Success | String | 処理が成功した場合はtrue を返し、それ以外の場合は例外を返します。 |
既存のジョブの設定情報と実行ステータスを取得します。
Name | Type | Description |
JobId | String | 返すジョブのId。 |
Region | String | ジョブが実行されているリージョン。ジョブがUS またはEU リージョンの場合は不要です。 |
Name | Type | Description |
JobId | String | 新しく挿入されたジョブのJobId。 |
Region | String | ジョブが実行されているリージョン。 |
Configuration_query_query | String | 新しく挿入されたジョブのクエリ。 |
Configuration_query_destinationTable_tableId | String | 新しく挿入されたジョブの対象テーブルのtableId。 |
Configuration_query_destinationTable_projectId | String | 新しく挿入されたジョブの対象テーブルのprojectId。 |
Configuration_query_destinationTable_datasetId | String | 新しく挿入されたジョブの対象テーブルのdatasetId。 |
Status_State | String | ジョブの実行状態。 |
Status_errorResult_reason | String | エラーの概要を示す短いエラーコード。 |
Status_errorResult_message | String | エラーの可読文字列。 |
Google BigQuery ジョブを挿入します。このジョブは、後でクエリの結果を取得するために選択できます。
Name | Type | Description |
Query | String | Google BigQuery に送信するクエリ。 |
IsDML | String | クエリがDML ステートメントの場合はtrue、そうでない場合はfalse。
デフォルト値はfalseです。 |
DestinationTable | String | DestProjectId:DestDatasetId.DestTable 形式のクエリのデスティネーションテーブル。 |
WriteDisposition | String | データを対象テーブルに書き込む方法。例えば、既存の結果を切り捨てる、既存の結果を連結する、テーブルが空の場合にのみ書き込むといった方法を指定できます。
使用できる値は次のとおりです。WRITE_TRUNCATE, WRITE_APPEND, WRITE_EMPTY デフォルト値はWRITE_TRUNCATEです。 |
DryRun | String | これがジョブのドライランかどうか。 |
MaximumBytesBilled | String | 指定された場合、BigQuery はこのバイト数を超えて処理しようとするとジョブをキャンセルします。 |
Region | String | ジョブの実行を開始するリージョン。 |
Name | Type | Description |
JobId | String | 新しく挿入されたジョブのJobId。 |
Region | String | ジョブが実行されているリージョン。 |
Configuration_query_query | String | 新しく挿入されたジョブのクエリ。 |
Configuration_query_destinationTable_tableId | String | 新しく挿入されたジョブの対象テーブルのtableId。 |
Configuration_query_destinationTable_projectId | String | 新しく挿入されたジョブの対象テーブルのprojectId。 |
Configuration_query_destinationTable_datasetId | String | 新しく挿入されたジョブの対象テーブルのdatasetId。 |
Status_State | String | ジョブの実行状態。 |
Status_errorResult_reason | String | エラーの概要を示す短いエラーコード。 |
Status_errorResult_message | String | エラーの可読文字列。 |
Inserts a Google BigQuery load job, which adds data from Google Cloud Storage into an existing table.
Name | Type | Description |
SourceURIs | String | A space-separated list of Google Cloud Storage URIs |
SourceFormat | String | The source format that the files are formatted in.
使用できる値は次のとおりです。AVRO, NEWLINE_DELIMITED_JSON, DATASTORE_BACKUP, PARQUET, ORC, CSV |
DestinationTable | String | The destination table for the query, in the format DestProjectId.DestDatasetId.DestTable |
DestinationTableProperties | String | A JSON object containing the table friendlyName, description and list of labels. |
DestinationTableSchema | String | A JSON list contianing the fields used to create the table. |
DestinationEncryptionConfiguration | String | A JSON object giving the KMS encryption settings for the table. |
SchemaUpdateOptions | String | A JSON list giving the options to apply when updating the destination table schema. |
TimePartitioning | String | A JSON object giving the time partitioning type and field. |
RangePartitioning | String | A JSON object giving the range partitioning field and buckets. |
Clustering | String | A JSON object giving the fields to be used for clustering. |
Autodetect | String | Whether options and schema should be automatically determined for JSON and CSV files. |
CreateDisposition | String | Whether to create the destination table if it does not exist.
使用できる値は次のとおりです。CREATE_IF_NEEDED, CREATE_NEVER デフォルト値はCREATE_IF_NEEDEDです。 |
WriteDisposition | String | How to write data to the destination table, such as truncate existing results, appending existing results, or writing only when the table is empty.
使用できる値は次のとおりです。WRITE_TRUNCATE, WRITE_APPEND, WRITE_EMPTY デフォルト値はWRITE_APPENDです。 |
Region | String | The region to start executing the job in. Both the GCS resources and the BigQuery dataset must be in the same region. |
DryRun | String | Whether or not this is a dry run of the job.
デフォルト値はfalseです。 |
MaximumBadRecords | String | If provided, the number of records that can be invalid before the entire job is canceled. By default all records must be valid.
デフォルト値は0です。 |
IgnoreUnknownValues | String | Whether to ignore unknown fields in the input file or treat them as errors. By default they are treated as errors.
デフォルト値はfalseです。 |
AvroUseLogicalTypes | String | Whether to use Avro logical types when converting Avro data into BigQuery types.
デフォルト値はtrueです。 |
CSVSkipLeadingRows | String | How many rows to skip at the start of CSV files. Usually used for skipping header rows. |
CSVEncoding | String | The name of the encoding used for CSV files.
使用できる値は次のとおりです。ISO-8859-1, UTF-8 デフォルト値はUTF-8です。 |
CSVNullMarker | String | If provided, this string is used for NULL values within CSV files. By default CSV files cannot use NULL. |
CSVFieldDelimiter | String | The character used to separate columns within CSV files.
デフォルト値は,です。 |
CSVQuote | String | The character used for quoted fields in CSV files. May be set to empty to disable quoting.
デフォルト値は"です。 |
CSVAllowQuotedNewlines | String | Whether CSV files can contain newlines within quoted fields.
デフォルト値はfalseです。 |
CSVAllowJaggedRows | String | Whether lines in CSV files may contain missing fields. False by default
デフォルト値はfalseです。 |
DSBackupProjectionFields | String | A JSON list of fields to load from a Cloud datastore backup. |
ParquetOptions | String | A JSON object giving the Parquet-specific import options. |
DecimalTargetTypes | String | A JSON list giving the preference order applied to numeric types. |
HivePartitioningOptions | String | A JSON object giving the source-side partitioning options. |
Name | Type | Description |
JobId | String | The JobId of the newly insert Job. |
Region | String | The region where the job is executing. |
Configuration_load_destinationTable_tableId | String | The destination table tableId of the newly inserted Job. |
Configuration_load_destinationTable_projectId | String | The destination table projectId of the newly inserted Job. |
Configuration_load_destinationTable_datasetId | String | The destination table datasetId of the newly inserted Job. |
Status_State | String | Running state of the job. |
Status_errorResult_reason | String | A short error code that summarizes the error. |
Status_errorResult_message | String | A human-readable description of the error. |
このセクションで説明されているシステムテーブルをクエリして、スキーマ情報、データソース機能に関する情報、およびバッチ操作の統計にアクセスできます。
以下のテーブルは、Google BigQuery のデータベースメタデータを返します。
以下のテーブルは、データソースへの接続方法およびクエリ方法についての情報を返します。
次のテーブルは、データ変更クエリ(バッチ処理を含む)のクエリ統計を返します。
利用可能なデータベースをリストします。
次のクエリは、接続文字列で決定されるすべてのデータベースを取得します。
SELECT * FROM sys_catalogs
Name | Type | Description |
CatalogName | String | データベース名。 |
利用可能なスキーマをリストします。
次のクエリは、すべての利用可能なスキーマを取得します。
SELECT * FROM sys_schemas
Name | Type | Description |
CatalogName | String | データベース名。 |
SchemaName | String | スキーマ名。 |
利用可能なテーブルをリストします。
次のクエリは、利用可能なテーブルおよびビューを取得します。
SELECT * FROM sys_tables
Name | Type | Description |
CatalogName | String | テーブルまたはビューを含むデータベース。 |
SchemaName | String | テーブルまたはビューを含むスキーマ。 |
TableName | String | テーブル名またはビュー名。 |
TableType | String | テーブルの種類(テーブルまたはビュー)。 |
Description | String | テーブルまたはビューの説明。 |
IsUpdateable | Boolean | テーブルが更新可能かどうか。 |
利用可能なテーブルおよびビューのカラムについて説明します。
次のクエリは、[publicdata].[samples].github_nested テーブルのカラムとデータ型を返します。
SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='github_nested' AND CatalogName='publicdata' AND SchemaName='samples'
Name | Type | Description |
CatalogName | String | テーブルまたはビューを含むデータベースの名前。 |
SchemaName | String | テーブルまたはビューを含むスキーマ。 |
TableName | String | カラムを含むテーブルまたはビューの名前。 |
ColumnName | String | カラム名。 |
DataTypeName | String | データ型の名前。 |
DataType | Int32 | データ型を示す整数値。この値は、実行時に環境に基づいて決定されます。 |
Length | Int32 | カラムのストレージサイズ。 |
DisplaySize | Int32 | 指定されたカラムの通常の最大幅(文字数)。 |
NumericPrecision | Int32 | 数値データの最大桁数。文字データおよび日時データの場合は、カラムの長さ(文字数)。 |
NumericScale | Int32 | カラムのスケール(小数点以下の桁数)。 |
IsNullable | Boolean | カラムがNull を含められるかどうか。 |
Description | String | カラムの簡単な説明。 |
Ordinal | Int32 | カラムのシーケンスナンバー。 |
IsAutoIncrement | String | カラムに固定増分値が割り当てられるかどうか。 |
IsGeneratedColumn | String | 生成されたカラムであるかどうか。 |
IsHidden | Boolean | カラムが非表示かどうか。 |
IsArray | Boolean | カラムが配列かどうか。 |
IsReadOnly | Boolean | カラムが読み取り専用かどうか。 |
IsKey | Boolean | sys_tablecolumns から返されたフィールドがテーブルの主キーであるかどうか。 |
利用可能なストアドプロシージャをリストします。
次のクエリは、利用可能なストアドプロシージャを取得します。
SELECT * FROM sys_procedures
Name | Type | Description |
CatalogName | String | ストアドプロシージャを含むデータベース。 |
SchemaName | String | ストアドプロシージャを含むスキーマ。 |
ProcedureName | String | ストアドプロシージャの名前。 |
Description | String | ストアドプロシージャの説明。 |
ProcedureType | String | PROCEDURE やFUNCTION などのプロシージャのタイプ。 |
ストアドプロシージャパラメータについて説明します。
次のクエリは、RefreshOAuthAccessToken ストアドプロシージャのすべての入力パラメータについての情報を返します。
SELECT * FROM sys_procedureparameters WHERE ProcedureName='RefreshOAuthAccessToken' AND Direction=1 OR Direction=2
Name | Type | Description |
CatalogName | String | ストアドプロシージャを含むデータベースの名前。 |
SchemaName | String | ストアドプロシージャを含むスキーマの名前。 |
ProcedureName | String | パラメータを含むストアドプロシージャの名前。 |
ColumnName | String | ストアドプロシージャパラメータの名前。 |
Direction | Int32 | パラメータのタイプに対応する整数値:input (1)。input/output (2)、またはoutput(4)。input/output タイプパラメータは、入力パラメータと出力パラメータの両方になれます。 |
DataTypeName | String | データ型の名前。 |
DataType | Int32 | データ型を示す整数値。この値は、実行時に環境に基づいて決定されます。 |
Length | Int32 | 文字データの場合は、許可される文字数。数値データの場合は、許可される桁数。 |
NumericPrecision | Int32 | 数値データの場合は最大精度。文字データおよび日時データの場合は、カラムの長さ(文字数)。 |
NumericScale | Int32 | 数値データの小数点以下の桁数。 |
IsNullable | Boolean | パラメータがNull を含められるかどうか。 |
IsRequired | Boolean | プロシージャの実行にパラメータが必要かどうか。 |
IsArray | Boolean | パラメータが配列かどうか。 |
Description | String | パラメータの説明。 |
Ordinal | Int32 | パラメータのインデックス。 |
主キーおよび外部キーについて説明します。
次のクエリは、[publicdata].[samples].github_nested テーブルの主キーを取得します。
SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='github_nested' AND CatalogName='publicdata' AND SchemaName='samples'
Name | Type | Description |
CatalogName | String | キーを含むデータベースの名前。 |
SchemaName | String | キーを含むスキーマの名前。 |
TableName | String | キーを含むテーブルの名前。 |
ColumnName | String | キーカラムの名前 |
IsKey | Boolean | カラムがTableName フィールドで参照されるテーブル内の主キーかどうか。 |
IsForeignKey | Boolean | カラムがTableName フィールドで参照される外部キーかどうか。 |
PrimaryKeyName | String | 主キーの名前。 |
ForeignKeyName | String | 外部キーの名前。 |
ReferencedCatalogName | String | 主キーを含むデータベース。 |
ReferencedSchemaName | String | 主キーを含むスキーマ。 |
ReferencedTableName | String | 主キーを含むテーブル。 |
ReferencedColumnName | String | 主キーのカラム名。 |
外部キーについて説明します。
次のクエリは、他のテーブルを参照するすべての外部キーを取得します。
SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
名前 | タイプ | 説明 |
CatalogName | String | キーを含むデータベースの名前。 |
SchemaName | String | キーを含むスキーマの名前。 |
TableName | String | キーを含むテーブルの名前。 |
ColumnName | String | キーカラムの名前 |
PrimaryKeyName | String | 主キーの名前。 |
ForeignKeyName | String | 外部キーの名前。 |
ReferencedCatalogName | String | 主キーを含むデータベース。 |
ReferencedSchemaName | String | 主キーを含むスキーマ。 |
ReferencedTableName | String | 主キーを含むテーブル。 |
ReferencedColumnName | String | 主キーのカラム名。 |
ForeignKeyType | String | 外部キーがインポート(他のテーブルを指す)キーかエクスポート(他のテーブルから参照される)キーかを指定します。 |
主キーについて説明します。
次のクエリは、すべてのテーブルとビューから主キーを取得します。
SELECT * FROM sys_primarykeys
Name | Type | Description |
CatalogName | String | キーを含むデータベースの名前。 |
SchemaName | String | キーを含むスキーマの名前。 |
TableName | String | キーを含むテーブルの名前。 |
ColumnName | String | キーカラムの名前。 |
KeySeq | String | 主キーのシーケンス番号。 |
KeyName | String | 主キーの名前。 |
利用可能なインデックスについて説明します。インデックスをフィルタリングすることで、より高速なクエリ応答時間でセレクティブクエリを記述できます。
次のクエリは、主キーでないすべてのインデックスを取得します。
SELECT * FROM sys_indexes WHERE IsPrimary='false'
Name | Type | Description |
CatalogName | String | インデックスを含むデータベースの名前。 |
SchemaName | String | インデックスを含むスキーマの名前。 |
TableName | String | インデックスを含むテーブルの名前。 |
IndexName | String | インデックス名。 |
ColumnName | String | インデックスに関連付けられたカラムの名前。 |
IsUnique | Boolean | インデックスが固有の場合はTrue。そうでない場合はFalse。 |
IsPrimary | Boolean | インデックスが主キーの場合はTrue。そうでない場合はFalse。 |
Type | Int16 | インデックスタイプに対応する整数値:statistic (0)、clustered (1)、hashed (2)、またはother (3)。 |
SortOrder | String | 並べ替え順序:A が昇順、D が降順。 |
OrdinalPosition | Int16 | インデックスのカラムのシーケンスナンバー。 |
利用可能な接続プロパティと、接続文字列に設定されている接続プロパティに関する情報を返します。
このテーブルをクエリする際は、config 接続文字列を使用する必要があります。
jdbc:cdata:googlebigquery:config:
この接続文字列を使用すると、有効な接続がなくてもこのテーブルをクエリできます。
次のクエリは、接続文字列に設定されている、あるいはデフォルト値で設定されているすべての接続プロパティを取得します。
SELECT * FROM sys_connection_props WHERE Value <> ''
Name | Type | Description |
Name | String | 接続プロパティ名。 |
ShortDescription | String | 簡単な説明。 |
Type | String | 接続プロパティのデータ型。 |
Default | String | 明示的に設定されていない場合のデフォルト値。 |
Values | String | 可能な値のカンマ区切りリスト。別な値が指定されていると、検証エラーがスローされます。 |
Value | String | 設定した値またはあらかじめ設定されたデフォルト。 |
Required | Boolean | プロパティが接続に必要かどうか。 |
Category | String | 接続プロパティのカテゴリ。 |
IsSessionProperty | String | プロパティが、現在の接続に関する情報を保存するために使用されるセッションプロパティかどうか。 |
Sensitivity | String | プロパティの機密度。これは、プロパティがロギングおよび認証フォームで難読化されているかどうかを通知します。 |
PropertyName | String | キャメルケースの短縮形の接続プロパティ名。 |
Ordinal | Int32 | パラメータのインデックス。 |
CatOrdinal | Int32 | パラメータカテゴリのインデックス。 |
Hierarchy | String | このプロパティと一緒に設定する必要がある、関連のある依存プロパティを表示します。 |
Visible | Boolean | プロパティが接続UI に表示されるかどうかを通知します。 |
ETC | String | プロパティに関するその他のさまざまな情報。 |
Cloud がデータソースにオフロードできるSELECT クエリ処理について説明します。
SQL 構文の詳細については、SQL 準拠 を参照してください。
以下はSQL 機能のサンプルデータセットです。 SELECT 機能のいくつかの側面がサポートされている場合には、カンマ区切りのリストで返されます。サポートされていない場合、カラムにはNO が入ります。
名前 | 説明 | 有効な値 |
AGGREGATE_FUNCTIONS | サポートされている集計関数。 | AVG, COUNT, MAX, MIN, SUM, DISTINCT |
COUNT | COUNT 関数がサポートされているかどうか。 | YES, NO |
IDENTIFIER_QUOTE_OPEN_CHAR | 識別子をエスケープするための開始文字。 | [ |
IDENTIFIER_QUOTE_CLOSE_CHAR | 識別子をエスケープするための終了文字。 | ] |
SUPPORTED_OPERATORS | サポートされているSQL 演算子。 | =, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR |
GROUP_BY | GROUP BY がサポートされているかどうか。サポートされている場合、どのレベルでサポートされているか。 | NO, NO_RELATION, EQUALS_SELECT, SQL_GB_COLLATE |
OJ_CAPABILITIES | サポートされている外部結合の種類。 | NO, LEFT, RIGHT, FULL, INNER, NOT_ORDERED, ALL_COMPARISON_OPS |
OUTER_JOINS | 外部結合がサポートされているかどうか。 | YES, NO |
SUBQUERIES | サブクエリがサポートされているかどうか。サポートされていれば、どのレベルでサポートされているか。 | NO, COMPARISON, EXISTS, IN, CORRELATED_SUBQUERIES, QUANTIFIED |
STRING_FUNCTIONS | サポートされている文字列関数。 | LENGTH, CHAR, LOCATE, REPLACE, SUBSTRING, RTRIM, LTRIM, RIGHT, LEFT, UCASE, SPACE, SOUNDEX, LCASE, CONCAT, ASCII, REPEAT, OCTET, BIT, POSITION, INSERT, TRIM, UPPER, REGEXP, LOWER, DIFFERENCE, CHARACTER, SUBSTR, STR, REVERSE, PLAN, UUIDTOSTR, TRANSLATE, TRAILING, TO, STUFF, STRTOUUID, STRING, SPLIT, SORTKEY, SIMILAR, REPLICATE, PATINDEX, LPAD, LEN, LEADING, KEY, INSTR, INSERTSTR, HTML, GRAPHICAL, CONVERT, COLLATION, CHARINDEX, BYTE |
NUMERIC_FUNCTIONS | サポートされている数値関数。 | ABS, ACOS, ASIN, ATAN, ATAN2, CEILING, COS, COT, EXP, FLOOR, LOG, MOD, SIGN, SIN, SQRT, TAN, PI, RAND, DEGREES, LOG10, POWER, RADIANS, ROUND, TRUNCATE |
TIMEDATE_FUNCTIONS | サポートされている日付および時刻関数。 | NOW, CURDATE, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, MONTH, QUARTER, WEEK, YEAR, CURTIME, HOUR, MINUTE, SECOND, TIMESTAMPADD, TIMESTAMPDIFF, DAYNAME, MONTHNAME, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, EXTRACT |
REPLICATION_SKIP_TABLES | レプリケーション中にスキップされたテーブルを示します。 | |
REPLICATION_TIMECHECK_COLUMNS | レプリケーション中に更新判断のカラムとして使用するかどうかを、(指定された順に)チェックするカラムのリストを含む文字列の配列。 | |
IDENTIFIER_PATTERN | 識別子としてどの文字列が有効かを示す文字列値。 | |
SUPPORT_TRANSACTION | プロバイダーが、コミットやロールバックなどのトランザクションをサポートしているかどうかを示します。 | YES, NO |
DIALECT | 使用するSQL ダイアレクトを示します。 | |
KEY_PROPERTIES | Uniform データベースを特定するプロパティを示します。 | |
SUPPORTS_MULTIPLE_SCHEMAS | プロバイダー用に複数のスキームが存在するかどうかを示します。 | YES, NO |
SUPPORTS_MULTIPLE_CATALOGS | プロバイダー用に複数のカタログが存在するかどうかを示します。 | YES, NO |
DATASYNCVERSION | このドライバーにアクセスするために必要な、CData Sync のバージョン。 | Standard, Starter, Professional, Enterprise |
DATASYNCCATEGORY | このドライバーのCData Sync カテゴリ。 | Source, Destination, Cloud Destination |
SUPPORTSENHANCEDSQL | API で提供されている以上の、追加SQL 機能がサポートされているかどうか。 | TRUE, FALSE |
SUPPORTS_BATCH_OPERATIONS | バッチ操作がサポートされているかどうか。 | YES, NO |
SQL_CAP | このドライバーでサポートされているすべてのSQL 機能。 | SELECT, INSERT, DELETE, UPDATE, TRANSACTIONS, ORDERBY, OAUTH, ASSIGNEDID, LIMIT, LIKE, BULKINSERT, COUNT, BULKDELETE, BULKUPDATE, GROUPBY, HAVING, AGGS, OFFSET, REPLICATE, COUNTDISTINCT, JOINS, DROP, CREATE, DISTINCT, INNERJOINS, SUBQUERIES, ALTER, MULTIPLESCHEMAS, GROUPBYNORELATION, OUTERJOINS, UNIONALL, UNION, UPSERT, GETDELETED, CROSSJOINS, GROUPBYCOLLATE, MULTIPLECATS, FULLOUTERJOIN, MERGE, JSONEXTRACT, BULKUPSERT, SUM, SUBQUERIESFULL, MIN, MAX, JOINSFULL, XMLEXTRACT, AVG, MULTISTATEMENTS, FOREIGNKEYS, CASE, LEFTJOINS, COMMAJOINS, WITH, LITERALS, RENAME, NESTEDTABLES, EXECUTE, BATCH, BASIC, INDEX |
PREFERRED_CACHE_OPTIONS | 使用したいcacheOptions を指定する文字列値。 | |
ENABLE_EF_ADVANCED_QUERY | ドライバーがEntity Framework の高度なクエリをサポートしているかどうかを示します。サポートしていなければ、クエリはクライアントサイドで処理されます。 | YES, NO |
PSEUDO_COLUMNS | 利用可能な疑似カラムを示す文字列の配列。 | |
MERGE_ALWAYS | 値がtrue であれば、CData Sync 内でMerge Model が強制的に実行されます。 | TRUE, FALSE |
REPLICATION_MIN_DATE_QUERY | レプリケート開始日時を返すSELECT クエリ。 | |
REPLICATION_MIN_FUNCTION | サーバーサイドでmin を実行するために使用する式名を、プロバイダーが指定できるようになります。 | |
REPLICATION_START_DATE | レプリケート開始日を、プロバイダーが指定できるようになります。 | |
REPLICATION_MAX_DATE_QUERY | レプリケート終了日時を返すSELECT クエリ。 | |
REPLICATION_MAX_FUNCTION | サーバーサイドでmax を実行するために使用する式名を、プロバイダーが指定できるようになります。 | |
IGNORE_INTERVALS_ON_INITIAL_REPLICATE | 初回のレプリケートで、レプリケートをチャンクに分割しないテーブルのリスト。 | |
CHECKCACHE_USE_PARENTID | CheckCache 構文を親キーカラムに対して実行するかどうかを示します。 | TRUE, FALSE |
CREATE_SCHEMA_PROCEDURES | スキーマファイルの生成に使用できる、ストアドプロシージャを示します。 |
次のクエリは、WHERE 句で使用できる演算子を取得します。
SELECT * FROM sys_sqlinfo WHERE Name = 'SUPPORTED_OPERATORS'
WHERE 句では、個々のテーブルの制限や要件が異なる場合がありますので注意してください。詳しくは、データモデル セクションを参照してください。
Name | Type | Description |
NAME | String | SQL 構文のコンポーネント、またはサーバー上で処理できる機能。 |
VALUE | String | サポートされるSQL またはSQL 構文の詳細。 |
試行された変更に関する情報を返します。
次のクエリは、バッチ処理で変更された行のId を取得します。
SELECT * FROM sys_identity
Name | Type | Description |
Id | String | データ変更処理から返された、データベース生成Id。 |
Batch | String | バッチの識別子。1 は単一処理。 |
Operation | String | バッチ内の処理の結果:INSERTED、UPDATED、またはDELETED。 |
Message | String | SUCCESS、またはバッチ内の更新が失敗した場合のエラーメッセージ。 |
Cloud は、データソースの型を、スキーマで使用可能な対応するデータ型にマッピングします。以下のテーブルはこれらのマッピングを説明します。
Google BigQuery | CData スキーマ | |
STRING | string | |
BYTES | binary | |
INTEGER | long | |
FLOAT | double | |
NUMERIC | decimal | |
BIGNUMERIC | decimal | |
BOOLEAN | bool | |
DATE | date | |
TIME | time | |
DATETIME | datetime | |
TIMESTAMP | datetime | |
STRUCT | 下記参照 | |
ARRAY | 下記参照 | |
GEOGRAPHY | string | |
JSON | string | |
INTERVAL | string |
Note that the NUMERIC type supports 38 digits of precision and the BIGDECIMAL type supports 76 digits of precision. Most platforms do not have a decimal type that supports the full precision of these values (.NET decimal supports 28 digits, and Java BigDecimal supports 38 by default). If this is the case, then you can cast these columns to a string when queried, or the connection can be configured to ignore them by setting IgnoreTypes=decimal.
Google BigQuery supports two kinds of types for storing compound values in a single row, STRUCT and ARRAY. In some places within Google BigQuery these are also known as RECORD and REPEATED types.
A STRUCT is a fixed-size group of values that are accessed by name and can have different types.
The Cloud flattens structs so their individual fields can be accessed using dotted names.
Note that these dotted names must be quoted.
-- trade_value STRUCT<currency STRING, value FLOAT> SELECT CONCAT([trade_value.value], ' ', NULLIF([trade_value.currency], 'USD')) FROM trades
An ARRAY is a group of values with the same type that can have any size. The Cloud treats the array as a single compound value and reports it as a JSON aggregate.
These types may be combined such that a STRUCT type contains an ARRAY field, or an ARRAY field is a list of STRUCT values.
The outer type takes precedence in how the field is processed:
/* Table contains fields: stocks STRUCT<symbol STRING, prices ARRAY<FLOAT>> offers: ARRAY<STRUCT<currency STRING, value FLOAT>> */ SELECT [stocks.symbol], /* ARRAY field can be read from STRUCT, but is converted to JSON */ [stocks.prices], [offers] /* STRUCT fields in an ARRAY cannot be accessed */ FROM market
The Cloud represents INTERVAL types as strings. Whenever a query requires an INTERVAL type, it must specify the INTERVAL using the BigQuery SQL INTERVAL format:
YEAR-MONTH DAY HOUR:MINUTE:SECOND.FRACTION. All queries that return INTERVAL values use this format unless they appear in an ARRAY aggregate, where the format depends upon how the Cloud reads the data.
For example, the value "5 years and 11 months, minus 10 days and 3 hours and 2.5 seconds" in the correct format is:
5-11 -10 -3:0:0.2.5
The Cloud exposes parameters on the following types. In each case the type parameters are optional, Google BigQuery has default values for types that are not parameterized.
These parameters are primarily for restricting the data written to the table. They are included in the table metadata as the column size for STRING and BYTES, and the numeric precision and scale for NUMERIC and BIGNUMERIC.
Type parameters have no effect on queries and are not reported within query metadata.
For example, in the example below the output of CONCAT is a plain STRING even though its inputs are a STRING(100) and b STRING(100).
SELECT CONCAT(a, b) FROM table_with_length_params
プロパティ | 説明 |
AuthScheme | Google BigQuery に接続する際に使用する認証の種類。 |
ProjectId | 非修飾テーブルを解決し、ジョブを実行するために使用するProjectId。 |
DatasetId | The DatasetId used to resolve unqualified tables. |
BillingProjectId | ジョブを実行する課金プロジェクトのProjectId。 |
プロパティ | 説明 |
AllowLargeResultSets | 大きなデータセットの場合に、大きなデータセットをテンポラリーテーブルに格納するかしないか。 |
DestinationTable | This property determines where query results are stored in Google BigQuery. |
UseQueryCache | Google BigQuery のビルトインクエリキャッシュを使用するかどうかを指定します。 |
PageSize | Google BigQuery から返されるページあたりの結果数。 |
PollingInterval | ジョブが完了したかどうかを確認するためのチェックの間隔を秒単位で決定します。 |
AllowUpdatesWithoutKey | 主キーなしで更新を許可するかどうか。 |
FilterColumns | このプロパティを使用する前に、`AllowUpdatesWithoutKey` をtrue に設定してください。 |
UseLegacySQL | このクエリにBigQuery のレガシーSQL を使用するかどうかを指定します。デフォルトでは、Standard SQL が使われます。 |
プロパティ | 説明 |
UseStorageAPI | バルクデータ読み出しにBigQuery のStorage API を使用するかどうかを指定します。 |
UseArrowFormat | BigQuery のStorage API でArrow 形式を使用するかどうかを指定します。 |
StorageThreshold | Storage API を呼び出すためにクエリが返す必要がある最小行数。 |
StoragePageSize | Storage API クエリに使用するページサイズを指定します。 |
プロパティ | 説明 |
InsertMode | データを挿入する際に使用する方法を指定します。デフォルトでは、ストリーミングINSERT が使用されます。 |
WaitForBatchResults | バルクアップロードAPI を使用するときにジョブの完了を待つかどうか。 InsertMode がUpload に設定されている場合のみ有効です。 |
TempTableDataset | The prefix of the dataset that will contain temporary tables when performing bulk UPDATE or DELETE operations. |
プロパティ | 説明 |
OAuthJWTCert | JWT 証明書のストア。 |
OAuthJWTCertType | JWT 証明書を格納するキーストアの種類。 |
OAuthJWTCertPassword | OAuth JWT 証明書のパスワード。 |
OAuthJWTCertSubject | OAuth JWT 証明書のサブジェクト。 |
OAuthJWTIssuer | Java Web Token の発行者。 |
OAuthJWTSubject | アプリケーションからデリゲートアクセスの要求対象となるユーザーサブジェクト。 |
プロパティ | 説明 |
SSLServerCert | TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。 |
プロパティ | 説明 |
Verbosity | ログファイルの記述をどの程度の詳細さで記載するかを決定するverbosity レベル。 |
プロパティ | 説明 |
BrowsableSchemas | このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
RefreshViewSchemas | provider が自動的に最新のビュースキーマを決定することを許可します。 |
ShowTableDescriptions | プラットフォームのメタデータAPI とsys_tables / sys_views を介してテーブルの説明を返すかどうかを制御します。 |
PrimaryKeyIdentifiers | Set this property to define primary keys. |
AllowedTableTypes | Specifies what kinds of tables will be visible. |
FlattenObjects | Determines whether the provider flattens STRUCT fields into top-level columns. |
プロパティ | 説明 |
StorageTimeout | How long a Storage API connection must remain idle before the provider reconnects. |
AllowAggregateParameters | QueryPassthrough が有効になっているときに、パラメータで生の集計を使用できるようにします。 |
ApplicationName | An application name in the form application/version. For example, AcmeReporting/1.0. |
AuditLimit | 監査テーブル内に保存される行の最大数。 |
AuditMode | 監査テーブルに記録するprovider アクション。 |
BigQueryOptions | BigQuery オプションのカンマ区切りのリスト。 |
MaximumBillingTier | MaximumBillingTier はTB あたりの基本料金の乗数となる正の整数です。例えばMaximumBillingTier を2 に設定すると、そのクエリの最大費用はTB あたり2x 基本価格になります。 |
MaximumBytesBilled | BigQuery がジョブがキャンセルされる前に消費を許容するバイト数を制限します。 |
MaxRows | クエリで集計またはGROUP BY を使用しない場合に返される行数を制限します。これはLIMIT 句よりも優先されます。 |
PseudoColumns | このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。 |
TableSamplePercent | This determines what percent of a table is sampled with the TABLESAMPLE operator. |
Timeout | タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。 |
このセクションでは、本プロバイダーの接続文字列で設定可能なAuthentication プロパティの全リストを提供します。
プロパティ | 説明 |
AuthScheme | Google BigQuery に接続する際に使用する認証の種類。 |
ProjectId | 非修飾テーブルを解決し、ジョブを実行するために使用するProjectId。 |
DatasetId | The DatasetId used to resolve unqualified tables. |
BillingProjectId | ジョブを実行する課金プロジェクトのProjectId。 |
Google BigQuery に接続する際に使用する認証の種類。
string
"Auto"
非修飾テーブルを解決し、ジョブを実行するために使用するProjectId。
string
""
This property and BillingProjectId are used to determine billing for jobs and resolve unqualified table names.
The Cloud must create a job within Google BigQuery to execute certain kinds of queries. For example, complex SELECT statements, UPDATE and DELETE statements, and INSERT statements (when InsertMode is DML) are all executed using jobs. The project where a job executes determines how the job is billed.
The Cloud determines the billing project using these rules. Note that only the first two rules apply when QueryPassthrough is enabled. Either this property or BillingProjectId must be set to execute passthrough queries.
SELECT FirstName, LastName FROM `psychic-valve-137816`.`Northwind`.`customers`
In addition to setting the billing project, the Cloud also uses this property to determine the default data project.
The data project is used to resolve tables included in queries when they are not fully qualified:
/* Unqualified, resolved against connection properties */ SELECT FirstName, LastName FROM `Northwind`.`customers` /* Qualified, project specified as catalog */ SELECT FirstName, LastName FROM `psychic-valve-137816`.`Northwind`.`customers`
Any unqualified table references in the query are resolved using the following rules. Note that only methods 1 and 2 are supported when QueryPassthrough is enabled. This means that any tables outside the default data project must be explicitly qualified.
SELECT ... FROM `psychic-valve-137816`.`Northwind`.`customers` INNER JOIN `Northwind`.`orders` ON ...
The DatasetId used to resolve unqualified tables.
string
""
When a query refers to a table it can leave the dataset implicit, or qualify
the dataset directly as the schema portion of the table:
/* Implicit, resolved against connection string */ SELECT FirstName, LastName FROM `customers` /* Explicit, dataset specified as schema */ SELECT FirstName, LastName FROM `psychic-valve-137816`.`Northwind`.`customers`
Any unqualified table references in the query are resolved using the following rules. Note that only method 1 is supported when QueryPassthrough is enabled. This means that passthrough queries must set this property or qualify all tables.
SELECT ... FROM `psychic-valve-137816`.`Northwind`.`customers` INNER JOIN `orders` ON ...
ジョブを実行する課金プロジェクトのProjectId。
string
""
このプロパティは、ProjectId と共に、Cloud がジョブを実行するプロジェクトを決定するために使用されます。 詳しくはそのページを参照してください。
このセクションでは、本プロバイダーの接続文字列で設定可能なBigQuery プロパティの全リストを提供します。
プロパティ | 説明 |
AllowLargeResultSets | 大きなデータセットの場合に、大きなデータセットをテンポラリーテーブルに格納するかしないか。 |
DestinationTable | This property determines where query results are stored in Google BigQuery. |
UseQueryCache | Google BigQuery のビルトインクエリキャッシュを使用するかどうかを指定します。 |
PageSize | Google BigQuery から返されるページあたりの結果数。 |
PollingInterval | ジョブが完了したかどうかを確認するためのチェックの間隔を秒単位で決定します。 |
AllowUpdatesWithoutKey | 主キーなしで更新を許可するかどうか。 |
FilterColumns | このプロパティを使用する前に、`AllowUpdatesWithoutKey` をtrue に設定してください。 |
UseLegacySQL | このクエリにBigQuery のレガシーSQL を使用するかどうかを指定します。デフォルトでは、Standard SQL が使われます。 |
大きなデータセットの場合に、大きなデータセットをテンポラリーテーブルに格納するかしないか。
bool
false
大きなデータセットの場合に、大きなデータセットをテンポラリーテーブルに格納するかしないか。
This property determines where query results are stored in Google BigQuery.
string
""
Google BigQuery queries have a maximum amount of data they are allowed to return directly. If this limit is exceeded, then queries will fail with an error message like Response too large to return. When this option is enabled the response limit does not apply, because all query responses are stored in a Google BigQuery table before being returned.
This option is set differently depending upon whether your connection is using UseLegacySQL or not. By default this option is set using the standard SQL syntax:
DestinationTable=project-name.dataset-name.table-name
When UseLegacySQL is enabled, this option is set using the legacy table syntax:
DestinationTable=project-name:dataset-name.table-name
When using this option with multiple connections, make sure that each connection has its own destination table. Sharing a table between connections can lead to results getting lost because parallel queries can overwrite each others results.
Google BigQuery のビルトインクエリキャッシュを使用するかどうかを指定します。
bool
true
Google BigQuery は最近のクエリの結果をキャッシュし、デフォルトでこのキャッシュをクエリに使用します。Google BigQuery はテーブルが更新されると自動的にキャッシュを更新するので、クエリが古いデータを返すリスクがなくパフォーマンスは一般的に良くなります。
これがfalse に設定されている場合、クエリは常にテーブルに対して直接実行されます。
Google BigQuery から返されるページあたりの結果数。
string
"100000"
PageSize は、Google BigQuery から返されるページあたりの結果数をコントロールできます。 より大きなページサイズを設定することにより、一度のHTTP リクエストで返せるデータの量を増やすことができます。ただし、実行にはより長い時間がかかります。 より小さなページサイズを設定することにより、すべてのデータを取得するのに必要なHTTP リクエスト数が増加します。ただし、タイムアウト切断が起こらないようにすることを推奨します。
UseStorageApi が有効になっていて、実行中のクエリをStorage API で実行できる場合、このオプションは効果がないことに注意してください。 詳しくは、StoragePageSize を参照してください。
ジョブが完了したかどうかを確認するためのチェックの間隔を秒単位で決定します。
string
"1"
これはCloud に直接ストリーミングされるのではなく、テーブルに保存されるクエリにのみ適用されます。 これは3つの場合にのみ適用されます:
このプロパティは、クエリ結果が準備できているかを確認する間隔をどの長さにするかを決定します。 非常に大きなクエリ結果や複雑なクエリは処理に時間がかかります。ポーリング間隔が短い場合には、クエリ状況を確認する不要な要求が送られる結果を引き起こします。
主キーなしで更新を許可するかどうか。
bool
false
主キーなしで更新を許可するかどうか。
このプロパティを使用する前に、`AllowUpdatesWithoutKey` をtrue に設定してください。
string
""
このプロパティを使用する前に、`AllowUpdatesWithoutKey` をtrue に設定することを忘れないでください。
プロパティを次のように設定します。
`filterColumns=col1[,col2[,col3]];`
このクエリにBigQuery のレガシーSQL を使用するかどうかを指定します。デフォルトでは、Standard SQL が使われます。
bool
false
True に設定すると、クエリはBigQuery のレガシーSQL ダイアレクトを使用してクエリをリビルドします。
False に設定した場合は、クエリはBigQuery の標準SQL を使用します:https://cloud.google.com/bigquery/sql-reference/
UseLegacySQL がfalse に設定された場合は、AllowLargeResultSets の値は無視されます。クエリはAllowLargeResultSets がtrue の場合と同じように実行されます。
このセクションでは、本プロバイダーの接続文字列で設定可能なStorage API プロパティの全リストを提供します。
プロパティ | 説明 |
UseStorageAPI | バルクデータ読み出しにBigQuery のStorage API を使用するかどうかを指定します。 |
UseArrowFormat | BigQuery のStorage API でArrow 形式を使用するかどうかを指定します。 |
StorageThreshold | Storage API を呼び出すためにクエリが返す必要がある最小行数。 |
StoragePageSize | Storage API クエリに使用するページサイズを指定します。 |
バルクデータ読み出しにBigQuery のStorage API を使用するかどうかを指定します。
bool
true
デフォルトで、Cloud はデフォルトのREST API の代わりにStorage API を使用します。 クエリの複雑さに応じて、Cloud は次の2つの方法のいずれかでクエリを実行します:
BigQuery Storage API は、REST API(このオプションをfalse に設定することでアクセス可能)よりも速く効率的にデータを読み出すことができますが、価格が異なり、独自のOAuth アプリを使用する際は追加のOAuth 権限が必要になります。 また、PageSize の代わりに別個のStoragePageSize プロパティを使用します。
BigQuery REST API は追加の権限を必要とせず、標準価格を使用しますが、Storage API よりも低速です。
BigQuery のStorage API でArrow 形式を使用するかどうかを指定します。
bool
false
このプロパティは、UseStorageApi が有効になっている場合にのみ効果があります。Storage API に対して読み取りを実行する場合、Cloud はさまざまな形式のデータをリクエストできます。 デフォルトではAvro を使用しますが、このオプションを有効にするとArrow が使用されます。
このオプションは、時系列データや、その他の多くのdate、time、datetime、timestamp フィールドを持つデータセットを扱う場合に有効にする必要があります。 Arrow を使用するこれらのデータセットでは、Avro を使用するものよりも顕著な改善が見られます。 それ以外の場合、Avro とArrow の読み取り時間は非常に近く、両者を切り替えても大きな違いはありません。
Storage API を呼び出すためにクエリが返す必要がある最小行数。
string
"100000"
Cloud は、Storage API で直接実行するには複雑すぎるクエリを受け取ると、クエリジョブを作成し、Storage API を使用してクエリ結果テーブルから読み取ります。 クエリジョブが、このオプションで設定された行数よりも少ない値を返した場合、結果は直接返されStorage API は使用されません。
この値は1 から100000 の間に設定する必要があります。大きい値では、結果セットが大きい場合にのみStorage API を使用しますが、クエリジョブからより多くの結果を読み取ることで遅延が発生します。 値が小さいほど遅延は小さくなりますが、より多くのクエリにStorage API を使用します。
このオプションは、UseStorageApi が有効になっていて、実行中のクエリをStorage API で直接実行できない場合にのみ効果があることに注意してください。 Storage で直接実行されるクエリは、クエリジョブを作成しません。
Storage API クエリに使用するページサイズを指定します。
string
"10000"
UseStorageApi が有効で、実行中のクエリがStorage API で実行可能な場合、このオプションはCloud がクライアントでバッファできる行数を制御します。
一般的に、値を大きくすると、メモリを消費しますがクエリが高速になります。値を小さくすると、メモリは節約されますがクエリは遅くなります。
このセクションでは、本プロバイダーの接続文字列で設定可能なUploading プロパティの全リストを提供します。
プロパティ | 説明 |
InsertMode | データを挿入する際に使用する方法を指定します。デフォルトでは、ストリーミングINSERT が使用されます。 |
WaitForBatchResults | バルクアップロードAPI を使用するときにジョブの完了を待つかどうか。 InsertMode がUpload に設定されている場合のみ有効です。 |
TempTableDataset | The prefix of the dataset that will contain temporary tables when performing bulk UPDATE or DELETE operations. |
データを挿入する際に使用する方法を指定します。デフォルトでは、ストリーミングINSERT が使用されます。
string
"Streaming"
This section provides only a summary of the mechanisms that each of these modes use. Please see 高度な統合 for more details on how to use each of these modes.
UseLegacySQL がtrue の場合、Streaming とUploadモードのみ使用可能です。レガシーSQL ダイアレクトはDML ステートメントをサポートしていません。
バルクアップロードAPI を使用するときにジョブの完了を待つかどうか。 InsertMode がUpload に設定されている場合のみ有効です。
bool
true
このプロパティは、Cloud がバッチジョブによるステータス報告を待つかどうかを決定します。 By default property is true and INSERT queries will complete only once Google BigQuery has finished executed them. When this property is false the INSERT query will complete as soon as a job is submitted for it.
The default mode is recommended for reliability:
You can disable this option to achieve lower delays when inserting, but you must also make sure to obey the Google BigQuery rate limits and check the status of each job to track their status and determine whether they have succeeded or failed.
The prefix of the dataset that will contain temporary tables when performing bulk UPDATE or DELETE operations.
string
"_CDataTempTableDataset"
Internally bulk UPDATE and DELETE use Google BigQuery MERGE queries, which require creating a table to hold all the update operations. This option is used along with the target table's region to determine the name of the dataset where these temporary tables are created. Each region must have its own temporary dataset so that the temporary table and the MERGE table can be stored in the same project/dataset. This avoids unnecessary data transfer charges.
For example, the Cloud would create a dataset called "_CDataTempTableDataset_US" for tables in the US region and a dataset called "_CDataTempTableDataset_asia_southeast_1" for tables in the Singapore region.
このセクションでは、本プロバイダーの接続文字列で設定可能なJWT OAuth プロパティの全リストを提供します。
プロパティ | 説明 |
OAuthJWTCert | JWT 証明書のストア。 |
OAuthJWTCertType | JWT 証明書を格納するキーストアの種類。 |
OAuthJWTCertPassword | OAuth JWT 証明書のパスワード。 |
OAuthJWTCertSubject | OAuth JWT 証明書のサブジェクト。 |
OAuthJWTIssuer | Java Web Token の発行者。 |
OAuthJWTSubject | アプリケーションからデリゲートアクセスの要求対象となるユーザーサブジェクト。 |
JWT 証明書のストア。
string
""
クライアント証明書のための証明書ストア名。
OAuthJWTCertType フィールドは、OAuthJWTCert により指定された証明書ストアの種類を指定します。 ストアがパスワードで保護されている場合は、OAuthJWTCertPassword でパスワードを指定します。
OAuthJWTCert は、OAuthJWTCertSubject フィールドとともにクライアント証明書を指定するために使われます。 OAuthJWTCert に値がある場合で、OAuthJWTCertSubject が設定されている場合は、証明書の検索が始まります。 詳しくは、OAuthJWTCertSubject フィールドを参照してください。
証明書ストアの指定はプラットフォームに依存します。
Windows の共通のユーザとシステム証明書ストアの指定は以下のとおりです。
MY | 個人証明書と関連付けられた秘密キーを格納している証明書ストア。 |
CA | 証明機関の証明書。 |
ROOT | ルート証明書。 |
SPC | ソフトウェア発行元証明書。 |
Javaでは、証明書ストアは通常、証明書および任意の秘密キーを含むファイルです。
証明書ストアの種類がPFXFile の場合は、このプロパティにファイル名を設定します。 PFXBlob の場合は、このプロパティをPFX ファイルのバイナリコンテンツ(例えば、PKCS12証明書ストア)に設定する必要があります。
JWT 証明書を格納するキーストアの種類。
string
"GOOGLEJSONBLOB"
このプロパティには次の値の一つを設定できます。
USER | Windows の場合、現在のユーザーにより所有された証明書ストアであることを指定します。 Note:この種類はJava では利用できません。 |
MACHINE | Windows の場合、この証明書ストアがシステムストアであることを指定します。 Note:この種類はJava では利用できません。 |
PFXFILE | この証明書ストアは、証明書を含むPFX(PKCS12)ファイルの名前です。 |
PFXBLOB | この証明書ストアは、PFX(PKCS12)形式の証明書ストアを表すBase-64でエンコードされた文字列です。 |
JKSFILE | この証明書ストアは、証明書を含むJava key store(JKS)ファイルの名前です。 Note:この種類はJava のみで利用できます。 |
JKSBLOB | この証明書ストアは、Java key store(JKS)形式の証明書ストアを表すBase-64でエンコードされた文字列です。 Note:この種類はJava のみで利用できます。 |
PEMKEY_FILE | この証明書ストアは、秘密キーと任意の証明書を含むPEM でエンコードされたファイルの名前です。 |
PEMKEY_BLOB | この証明書ストアは、秘密キーと任意の証明書を含むBase-64でエンコードされた文字列です。 |
PUBLIC_KEY_FILE | この証明書ストアは、PEM またはDER でエンコードされた公開キーの証明書を含むファイルの名前です。 |
PUBLIC_KEY_BLOB | この証明書ストアは、PEM またはDER でエンコードされた公開キーの証明書を含むBase-64でエンコードされた文字列です。 |
SSHPUBLIC_KEY_FILE | この証明書ストアは、SSH 公開キーを含むファイルの名前です。 |
SSHPUBLIC_KEY_BLOB | この証明書ストアは、SSH 公開キーを含むBase-64でエンコードされた文字列です。 |
P7BFILE | この証明書ストアは、証明書を含むPKCS7 ファイルの名前です。 |
PPKFILE | この証明書ストアは、PuTTY 秘密キー(PPK)を含むファイルの名前です。 |
XMLFILE | この証明書ストアは、XML 形式の証明書を含むファイルの名前です。 |
XMLBLOB | この証明書ストアは、XML 形式の証明書を含む文字列の名前です。 |
GOOGLEJSON | この証明書ストアは、サービスアカウント情報を含むJSON ファイルの名前です。Google サービスに接続する場合にのみ有効です。 |
GOOGLEJSONBLOB | この証明書ストアは、サービスアカウントのJSON を含む文字列です。Google サービスに接続する場合にのみ有効です。 |
OAuth JWT 証明書のパスワード。
string
""
証明書ストアでパスワードが必要である場合、このプロパティを使用してパスワードを指定し、証明書ストアにアクセスできます。
GOOGLEJSON OAuthJWTCertType を使用する場合は必要ありません。Google JSON キーは暗号化されていません。
OAuth JWT 証明書のサブジェクト。
string
"*"
証明書のサブジェクトは、証明書をロードするときにストア内の証明書を検索するために使用されます。
完全に一致するものが見つからない場合、ストアはプロパティの値を含むサブジェクトを検索します。
それでも一致するものが見つからない場合、プロパティは空白で設定され、証明書は選択されません。
"*" に設定すると、証明書ストアの1番目の証明書が選択されます。
証明書のサブジェクトは識別の名前フィールドおよび値のカンマ区切りのリストです。 例えば、"CN=www.server.com, OU=test, C=US, E=support@cdata.com"。共通のフィールドとその説明は以下のとおりです。
フィールド | 説明 |
CN | 共通名。一般的には、www.server.com のようなホスト名です。 |
O | 法人名 |
OU | 法人の部署名 |
L | 法人の住所(市町村名) |
S | 法人の住所(都道府県) |
C | 国名 |
E | Eメールアドレス |
フィールド値にカンマが含まれている場合は、それを引用符で囲む必要があります。
Java Web Token の発行者。
string
""
Java Web Token の発行者。 委任されたユーザーのE メールアドレスの値を入力します。
GOOGLEJSON OAuthJWTCertType を使用する場合は必要ありません。Google JSON キーには、発行者アカウントのコピーが含まれています。
Java Web Token の発行者。 委任されたユーザーのE メールアドレスの値を入力します。
GOOGLEJSON OAuthJWTCertType を使用する場合は必要ありません。Google JSON キーには、発行者アカウントのコピーが含まれています。
アプリケーションからデリゲートアクセスの要求対象となるユーザーサブジェクト。
string
""
アプリケーションからデリゲートアクセスの要求対象となるユーザーサブジェクトです。 サービスアカウントE メールの値を入力します。
アプリケーションからデリゲートアクセスの要求対象となるユーザーサブジェクトです。 サービスアカウントE メールの値を入力します。
このセクションでは、本プロバイダーの接続文字列で設定可能なSSL プロパティの全リストを提供します。
プロパティ | 説明 |
SSLServerCert | TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。 |
TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。
string
""
TLS/SSL 接続を使用する場合は、このプロパティを使用して、サーバーが受け入れるTLS/SSL 証明書を指定できます。コンピュータによって信頼されていない他の証明書はすべて拒否されます。
このプロパティは、次のフォームを取ります:
説明 | 例 |
フルPEM 証明書(例では省略されています) | -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE----- |
証明書を保有するローカルファイルへのパス。 | C:\cert.cer |
公開鍵(例では省略されています) | -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY----- |
MD5 Thumbprint (hex 値はスペースおよびコロン区切り) | ecadbdda5a1529c58a1e9e09828d70e4 |
SHA1 Thumbprint (hex 値はスペースおよびコロン区切り) | 34a929226ae0819f2ec14b4a3d904f801cbb150d |
これを指定しない場合は、マシンが信用するすべての証明書が受け入れられます。
すべての証明書の受け入れを示すには、'*'を使用します。セキュリティ上の理由から、これはお勧めできません。
このセクションでは、本プロバイダーの接続文字列で設定可能なLogging プロパティの全リストを提供します。
プロパティ | 説明 |
Verbosity | ログファイルの記述をどの程度の詳細さで記載するかを決定するverbosity レベル。 |
このセクションでは、本プロバイダーの接続文字列で設定可能なSchema プロパティの全リストを提供します。
プロパティ | 説明 |
BrowsableSchemas | このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
RefreshViewSchemas | provider が自動的に最新のビュースキーマを決定することを許可します。 |
ShowTableDescriptions | プラットフォームのメタデータAPI とsys_tables / sys_views を介してテーブルの説明を返すかどうかを制御します。 |
PrimaryKeyIdentifiers | Set this property to define primary keys. |
AllowedTableTypes | Specifies what kinds of tables will be visible. |
FlattenObjects | Determines whether the provider flattens STRUCT fields into top-level columns. |
このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
string
""
スキーマをデータベースからリストすると、負荷がかかる可能性があります。接続文字列でスキーマのリストを提供すると、 パフォーマンスが向上します。
provider が自動的に最新のビュースキーマを決定することを許可します。
bool
true
BigQuery ビューを使用する場合、BigQuery はビュー自体とともにビュースキーマのコピーを保存します。ただし、これらの保存されたビュースキーマは、ビューで使用されるテーブルが変更されても更新されません。これは、保存されたビュースキーマが容易に古くなり、ビューを使用するクエリが失敗する可能性があることを意味します。
デフォルトでは、Cloud は保存されたビュースキーマを使用せず、代わりにビューをクエリして、利用可能なカラムを決定します。これにより、スキーマが最新であることが保証されますが、Cloud がジョブのクエリを開始する必要があります。
このオプションを無効にすると、保存されたビュースキーマを使用するようにCloud に強制できます。これにより、ビュースキーマを取得するときにCloud がクエリを実行することを防ぐことができますが、同時に、スキーマが古い場合はビューを使用するクエリが失敗することも意味します。
プラットフォームのメタデータAPI とsys_tables / sys_views を介してテーブルの説明を返すかどうかを制御します。
bool
false
デフォルトでは、テーブルの説明は表示されません。これは、API が、テーブルの読み取りに通常必要なリクエスト以上の追加のリクエストを必要とするためです。
このオプションを有効にするとテーブルの説明が表示されますが、テーブルリストを取得する際に、テーブルごとに追加のAPI リクエストが発生します。これにより、大規模なデータセットでのメタデータ操作が遅くなる可能性があります。
Set this property to define primary keys.
string
""
Google BigQuery does not natively support primary keys, but for certain DML operations or database tools you may need to define them. By default this option is disabled and no tables will have primary keys except for the ones defined in schema files (if you set Location).
Primary keys are defined using a list of rules which match tables and provide a list of key columns. For example, PrimaryKeyIdentifiers="*=key;transactions=tx_date,tx_serial;user_comments=" has three rules separated by semicolons:
Note that the table names can include just the table, the table and dataset or the table, dataset and project.
Both column and table names may be quoted using SQL quotes:
/* Rules with just table names use the connection ProjectId (or DataProjectId) and DatasetId. All these rules refer to the same table with a connection where ProjectId=someProject;DatasetId=someDataset */ someTable=a,b,c someDataset.someTable=a,b,c someProject.someDataset.someTable=a,b,c /* Any table or column name may be quoted */ `someProject`."someDataset".[someTable]=`a`,[b],"c"
Specifies what kinds of tables will be visible.
string
"TABLE,EXTERNAL,VIEW,MATERIALIZED_VIEW"
This option is a comma-separated list of the table type values that the Cloud displays. Any table-like or view-like entity that doesn't have a matching type will not be reported when listing tables.
For example, to restrict the Cloud to listing only simple tables and views, this option would be set to TABLE,VIEW
Determines whether the provider flattens STRUCT fields into top-level columns.
bool
true
By default the Cloud reports each field in a STRUCT column as its own column while the STRUCT column itself is hidden.
This process is recursively applied to nested STRUCT values.
For example, if the following table is defined in Google BigQuery then the Cloud reports 3 columns: location.coords.lat, location.coords.lon and location.country:
CREATE TABLE t(location STRUCT<coords STRUCT<lat FLOAT64, lon FLOAT64>, country STRING>);
If this property is disabled, then the top-level STRUCT is not expanded and is left as its own column. The value of this column is reported as a JSON aggregate. In the above example, the Cloud reports only the location column when flattening is disabled.
このセクションでは、本プロバイダーの接続文字列で設定可能なMiscellaneous プロパティの全リストを提供します。
プロパティ | 説明 |
StorageTimeout | How long a Storage API connection must remain idle before the provider reconnects. |
AllowAggregateParameters | QueryPassthrough が有効になっているときに、パラメータで生の集計を使用できるようにします。 |
ApplicationName | An application name in the form application/version. For example, AcmeReporting/1.0. |
AuditLimit | 監査テーブル内に保存される行の最大数。 |
AuditMode | 監査テーブルに記録するprovider アクション。 |
BigQueryOptions | BigQuery オプションのカンマ区切りのリスト。 |
MaximumBillingTier | MaximumBillingTier はTB あたりの基本料金の乗数となる正の整数です。例えばMaximumBillingTier を2 に設定すると、そのクエリの最大費用はTB あたり2x 基本価格になります。 |
MaximumBytesBilled | BigQuery がジョブがキャンセルされる前に消費を許容するバイト数を制限します。 |
MaxRows | クエリで集計またはGROUP BY を使用しない場合に返される行数を制限します。これはLIMIT 句よりも優先されます。 |
PseudoColumns | このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。 |
TableSamplePercent | This determines what percent of a table is sampled with the TABLESAMPLE operator. |
Timeout | タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。 |
How long a Storage API connection must remain idle before the provider reconnects.
string
"60"
Google BigQuery and many proxies/firewalls restrict the amount of time that idle connections stay alive before they are forcibly closed. This can be a problem when using the Storage API because the Cloud may stream data faster than it can be consumed. While the consumer is catching up, the Cloud does not use its connection and it may be closed by the next time the Cloud uses it.
To avoid this the Cloud will automatically close and reopen the connection if it has been idle for too long. This property controls how many seconds the connection has to be idle for the Cloud to reset it. To disable these resets this property can also set to 0 or a negative value.
QueryPassthrough が有効になっているときに、パラメータで生の集計を使用できるようにします。
bool
false
このオプションは、QueryPassthrough 経由でダイレクトクエリを使用する場合の文字列パラメータの処理方法に影響します。例えば、このクエリを考えてみましょう:
INSERT INTO proj.data.tbl(x) VALUES (@x)
デフォルトでは、このオプションは無効になっており、文字列パラメータは引用符で囲まれSQL 文字列にエスケープされます。つまり、任意の値を文字列パラメータとして安全に使用できますが、パラメータを生の集計値として使用できないことも意味します。
/* * If @x is set to: test value ' contains quote * * Result is a valid query */ INSERT INTO proj.data.tbl(x) VALUES ('test value \' contains quote') /* * If @x is set to: ['valid', ('aggregate', 'value')] * * Result contains string instead of aggregate: */ INSERT INTO proj.data.tbl(x) VALUES ('[\'valid\', (\'aggregate\', \'value\')]')
このオプションを有効にすると、文字列パラメータはクエリに直接挿入されます。つまり、生の集計をパラメータとして使用できますが、すべての単純な文字列をエスケープする必要があることも意味します。
/* * If @x is set to: test value ' contains quote * * Result is an invalid query */ INSERT INTO proj.data.tbl(x) VALUES (test value ' contains quote) /* * If @x is set to: ['valid', ('aggregate', 'value')] * * Result is an aggregate */ INSERT INTO proj.data.tbl(x) VALUES (['valid', ('aggregate', 'value')])
An application name in the form application/version. For example, AcmeReporting/1.0.
string
""
The Cloud identifies itself to BigQuery using a Google partner User-Agent header. The first part of the User-Agent is fixed and identifies the client as a specific build of the CData Cloud. The last portion reports the specific application using the Cloud.
監査テーブル内に保存される行の最大数。
string
"1000"
AuditMode オプションで監査が有効になっている場合、このプロパティを使用して、 監査テーブルで一度に許可される行数を決定します。
デフォルトではこのプロパティは1000です。これは、監査テーブルで使用できるのは 直近の1000監査イベントのみであることを意味します。
このプロパティは-1 に設定することも可能です。これにより、監査テーブルのサイズに
制限がなくなります。このモードでは、Cloud が過剰なメモリを使用しないように、
Cloud監査テーブルを定期的にクリアする必要があります。
DELETE FROM AuditJobs#TEMP
監査テーブルに記録するprovider アクション。
string
""
Cloud は、クエリを実行する際の特定の内部アクションを記録できます。 このオプションにリストされているアクションのそれぞれについて、Cloud はテンポラリ監査テーブルを作成して、アクションが発生したタイミング、アクションを引き起こしたクエリ、その他の関連情報を記録します。
デフォルトではこのオプションは'none' に設定されており、Cloud は監査情報を記録しません。 このオプションは、以下のアクションのカンマ区切りリストに設定することもできます。
モード名 | 監査テーブル | 説明 | カラム |
start-jobs | AuditJobs#TEMP | Cloud によって開始されたすべてのジョブを記録します | Timestamp,Query,ProjectId,Location,JobId |
これらのテーブルのサイズを制限する方法の詳細については、AuditLimit を参照してください。
BigQuery オプションのカンマ区切りのリスト。
string
""
Google BigQuery オプションのリスト:
オプション | 説明 |
gbqoImplicitJoinAsUnion | このオプションは、ドライバーがSQL92 で予期されるようにIMPLICIT JOIN をCROSS JOIN に変換することを防止します。そのかわりに、そのままIMPLICIT JOIN として残され、Google BigQuery はUNION ALL として実行します。 |
MaximumBillingTier はTB あたりの基本料金の乗数となる正の整数です。例えばMaximumBillingTier を2 に設定すると、そのクエリの最大費用はTB あたり2x 基本価格になります。
string
""
このジョブの課金階層を制限します。この階層を超えるリソース使用量を持つクエリは失敗します(料金は発生しません)。指定がない場合は、プロジェクトのデフォルトに設定されます。 BigQuery が標準のTB 課金階層で完了できないクエリを実行した場合、BigQuery はbillingTierLimitExceeded エラー、およびクエリの費用がどのくらいになるかの見積もりを返します。 より高い課金階層でクエリを実行するには、クエリリクエストの一部としてmaximumBillingTier の新しい値を渡します。MaximumBillingTier はTB あたりの基本料金の乗数となる正の整数です。例えばMaximumBillingTier を2 に設定すると、そのクエリの最大費用はTB あたり2x 基本価格になります。
BigQuery がジョブがキャンセルされる前に消費を許容するバイト数を制限します。
string
""
この値を設定すると、すべてのジョブはこの値をデフォルトの請求上限として使用します。ジョブがこれ以上のバイトを使用している場合、BigQuery はそれをキャンセルし課金されません。 デフォルトでは上限はなく、すべてのジョブは消費したバイト数に応じて課金されます。
これは、DestinationTable を使用する場合、またはInsertJob ストアドプロシージャを使用する場合にのみ効果があります。BigQuery では標準のクエリジョブにバイト制限を設定できません。
クエリで集計またはGROUP BY を使用しない場合に返される行数を制限します。これはLIMIT 句よりも優先されます。
int
-1
クエリで集計またはGROUP BY を使用しない場合に返される行数を制限します。これはLIMIT 句よりも優先されます。
このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。
string
""
Entity Framework ではテーブルカラムでない疑似カラムに値を設定できないため、この設定はEntity Framework で特に便利です。この接続設定の値は、"Table1=Column1, Table1=Column2, Table2=Column3" の形式です。"*=*" のように"*" 文字を使用して、すべてのテーブルとすべてのカラムを含めることができます。
This determines what percent of a table is sampled with the TABLESAMPLE operator.
string
""
This option can be set to make the Cloud use the TABLESAMPLE for each
table referenced by a query. The value determines what percent is provided to the
PERCENT clause. That clause will only be generated if this property's value is above
zero.
-- Input SQL SELECT * FROM `tbl` -- Generated Google BigQuery SQL when TableSamplePercent=10 SELECT * FROM `tbl` TABLESAMPLE SYSTEM (10 PERCENT)
This option is subject to a few limitations:
タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。
string
"300"
Timeout が0に設定されている場合は、操作がタイムアウトしません。処理が正常に完了するか、エラー状態になるまで実行されます。
Timeout の有効期限が切れても処理が完了していない場合は、Cloud は例外をスローします。
protobuf
Copyright 2008 Google Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Code generated by the Protocol Buffer compiler is owned by the owner of the input file used when generating it. This code is not standalone and requires a support library to be linked with it. This support library is itself covered by the above license.