Google BigQuery Connector for CData Sync

Build 22.0.8479
  • Google BigQuery
    • 接続の確立
      • 高度な統合
      • 必要最小限のロール
    • 高度な機能
      • SSL の設定
      • ファイアウォールとプロキシ
    • データモデル
      • テーブル
      • ビュー
        • Datasets
        • PartitionsList
        • PartitionsValues
        • Projects
      • データ型マッピング
    • 接続文字列オプション
      • Authentication
        • AuthScheme
        • ProjectId
        • DatasetId
      • BigQuery
        • AllowLargeResultSets
        • UseQueryCache
        • PageSize
        • PollingInterval
        • AllowUpdatesWithoutKey
        • FilterColumns
        • UseLegacySQL
      • Storage API
        • UseStorageAPI
        • UseArrowFormat
        • StorageThreshold
        • StoragePageSize
      • Uploading
        • InsertMode
        • WaitForBatchResults
        • GCSBucket
        • GCSBucketFolder
        • TempTableDataset
      • OAuth
        • OAuthClientId
        • OAuthClientSecret
      • JWT OAuth
        • OAuthJWTCert
        • OAuthJWTCertType
        • OAuthJWTCertPassword
        • OAuthJWTCertSubject
        • OAuthJWTIssuer
        • OAuthJWTSubject
      • SSL
        • SSLServerCert
      • Firewall
        • FirewallType
        • FirewallServer
        • FirewallPort
        • FirewallUser
        • FirewallPassword
      • Proxy
        • ProxyAutoDetect
        • ProxyServer
        • ProxyPort
        • ProxyAuthScheme
        • ProxyUser
        • ProxyPassword
        • ProxySSLType
        • ProxyExceptions
      • Logging
        • LogModules
      • Schema
        • Location
        • BrowsableSchemas
        • Tables
        • Views
        • RefreshViewSchemas
        • ShowTableDescriptions
        • PrimaryKeyIdentifiers
        • AllowedTableTypes
        • FlattenObjects
      • Miscellaneous
        • StorageTimeout
        • AllowAggregateParameters
        • ApplicationName
        • AuditLimit
        • AuditMode
        • BigQueryOptions
        • GenerateSchemaFiles
        • MaximumBillingTier
        • MaximumBytesBilled
        • MaxRows
        • Other
        • PseudoColumns
        • QueryPassthrough
        • TableSamplePercent
        • Timeout
        • UserDefinedViews
    • Third Party Copyrights

Google BigQuery Connector for CData Sync

概要

CData Sync App は、Google BigQuery データをデータベース、データレイク、またはデータウェアハウスに継続的にパイプライン化する簡単な方法を提供し、分析、レポート、AI、および機械学習で簡単に利用できるようにします。

Google BigQuery コネクタはCData Sync アプリケーションから使用可能で、Google BigQuery からデータを取得して、サポートされている任意の同期先に移動できます。

Google BigQuery Connector for CData Sync

接続の確立

Sync App アプリケーションの接続 ページに移動し、接続の追加 パネルで対応するアイコンを選択して、Google BigQuery への接続を作成します。Google BigQuery アイコンが利用できない場合は、Add More アイコンをクリックしてCData サイトからGoogle BigQuery コネクタをダウンロードおよびインストールします。

必須プロパティは[設定]タブにリストされています。[Advanced]タブには、通常は必要ない接続プロパティが表示されます。

Google BigQuery への接続

デフォルトでは、Sync App はデータベース内の利用可能なすべてのプロジェクトに接続します。接続の範囲を限定するには、以下のプロパティを組み合わせて設定します。

  • ProjectId:ドライバーが接続するプロジェクトを指定
  • BillingProjectId:課金されるプロジェクトを指定
  • DatasetId:ドライバーがアクセスするデータセットを指定

Google BigQuery への認証

Sync App は、認証にユーザーアカウントおよびGCP インスタンスアカウントの使用をサポートします。

以下のセクションでは、Google BigQuery の利用可能な認証スキームについて説明します。

  • ユーザーアカウント(OAuth)
  • サービスアカウント(OAuthJWT)
  • GCP インスタンスアカウント

ユーザーアカウント(OAuth)

AuthScheme は、すべてのユーザーアカウントフローでOAuth に設定する必要があります。

Web アプリケーション

Web アプリケーション経由で接続する場合は、Google BigQuery にカスタムOAuth アプリケーションを作成および登録する必要があります。それからSync App を使用してOAuth トークンの値を取得および管理します。カスタムアプリケーションについて詳しくは、カスタムOAuth アプリの作成 を参照してください。

OAuth アクセストークンの取得

次の接続プロパティを設定し、OAuthAccessToken を取得します。

  • OAuthClientId:アプリケーション設定のクライアントId に設定。
  • OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。

続いてストアドプロシージャを呼び出し、OAuth 交換を完了します。

  1. GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。CallbackURL インプットをアプリケーション設定で指定したコールバックURL に設定します。ストアドプロシージャがOAuth エンドポイントのURL を返します。
  2. ステップ1でストアドプロシージャが返したURL に移動します。カスタムOAuth アプリケーションにログインして、Web アプリケーションを認可します。認証されると、ブラウザはコールバックURL にリダイレクトします。
  3. GetOAuthAccessToken ストアドプロシージャを呼び出します。AuthMode をWEB に、Verifier インプットをコールバックURL のクエリ文字列の"code" パラメータに設定します。

アクセストークンとリフレッシュトークンを取得すると、データに接続し、OAuth アクセストークンを自動または手動でリフレッシュすることができるようになります。

OAuth アクセストークンの自動リフレッシュ

ドライバーがOAuth アクセストークンを自動的にリフレッシュするようにするには、最初のデータ接続で次のように設定します。

  • InitiateOAuth:REFRESH に設定。
  • OAuthClientId:アプリケーション設定のクライアントId に設定。
  • OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。
  • OAuthAccessToken:GetOAuthAccessToken によって返されたアクセストークンに設定。
  • OAuthRefreshToken:GetOAuthAccessToken によって返されたリフレッシュトークンに設定。
  • OAuthSettingsLocation:Sync App がOAuth トークン値を保存する場所のパスを設定。これは接続間で維持されます。
次回のデータ接続では、OAuthAccessToken およびOAuthRefreshToken の値は、OAuthSettingsLocation から取得されます。

OAuth アクセストークンの手動リフレッシュ

データ接続時に手動でOAuth アクセストークンをリフレッシュするために必要な値は、OAuth リフレッシュトークンのみです。

GetOAuthAccessToken によって返されたExpiresIn パラメータ値が経過した後に、RefreshOAuthAccessToken ストアドプロシージャを使用し、手動でOAuthAccessToken をリフレッシュします。次の接続プロパティを設定します。

  • OAuthClientId:アプリケーション設定のクライアントId に設定。
  • OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。

次に、RefreshOAuthAccessToken を呼び出し、OAuthRefreshToken にGetOAuthAccessToken によって返されたOAuth リフレッシュトークンを指定します。新しいトークンが取得できたら、OAuthAccessToken プロパティにRefreshOAuthAccessToken によって返された値を設定し、新しい接続をオープンします。

最後に、OAuth リフレッシュトークンを保存し、OAuth アクセストークンの有効期限が切れた後に手動でリフレッシュできるようにします。

ヘッドレスマシン

ヘッドレスマシンのユーザーアカウントでOAuth を使用するようにドライバーを設定するには、インターネットブラウザに対応した別の端末で認証する必要があります。

  1. 以下のオプションから選択します。
    • オプション1:後述の「Verifier code を取得および交換」に従い、OAuthVerifier 値を取得します。
    • オプション2:インターネットブラウザに対応したマシンにSync App をインストールし、後述の「OAuth 設定を転送」の説明に従い、通常のブラウザベースのフローで認証後にOAuth 認証値を転送します。
  2. 次に、ヘッドレスマシンからアクセストークンを自動的にリフレッシュするようにSync App を設定します。

オプション1:Verifier code を取得および交換

Verifier code を取得するには、OAuth Authorization URL で認証する必要があります。

インターネットブラウザに対応したマシンから認証してOAuthVerifier 接続プロパティを取得する方法は次のとおりです。

  1. 以下のオプションから選択します。
    • 埋め込みOAuth アプリケーションを使用する場合は、Google BigQuery OAuth endpoint をクリックし、ブラウザでエンドポイントを開きます。
    • カスタムOAuth アプリケーションを使用するには、以下のプロパティを設定し、認証URL を作成します。
      • InitiateOAuth:OFF に設定。
      • OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId に設定。
      • OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレットに設定。
      次に、適切なCallbackURL を指定してGetOAuthAuthorizationURL ストアドプロシージャを呼び出します。ストアドプロシージャによって返されたURL をブラウザで開きます。
  2. ログインして、Sync App にアクセス許可を与えます。すると、verifier code を含むコールバックURL にリダイレクトされます。
  3. verifier code の値を保存します。後ほどこれをOAuthVerifier 接続プロパティに設定します。
次に、OAuth verifier code をOAuth リフレッシュトークンおよびアクセストークンと交換する必要があります。次のプロパティを設定します。

ヘッドレスマシンでは、次の接続プロパティを設定してOAuth 認証値を取得します。

  • InitiateOAuth:REFRESH に設定。
  • OAuthVerifier:verifier code に設定。
  • OAuthClientId:(カスタムアプリのみ)カスタムOAuth アプリケーション設定のクライアントId に設定。
  • OAuthClientSecret:(カスタムアプリのみ)カスタムOAuth アプリケーション設定のクライアントシークレットに設定。
  • OAuthSettingsLocation:これを設定すると、暗号化されたOAuth 認証値が指定されたファイルに永続化されます。

OAuth 設定ファイルが生成されたら、以下のように接続プロパティをリセットする必要があります。

  • InitiateOAuth:REFRESH に設定。
  • OAuthClientId:(カスタムアプリのみ)アプリケーションの登録時に割り当てられたクライアントId に設定。
  • OAuthClientSecret:(カスタムアプリのみ)アプリケーションの登録時に割り当てられたクライアントシークレットに設定。
  • OAuthSettingsLocation:暗号化されたOAuth 認証値を含むファイルに設定。アクセストークンの自動リフレッシュを有効にするために、このファイルがSync App に読み書きのアクセス許可を与えることを確認してください。

オプション2:OAuth 設定を転送

ヘッドレスマシンでの接続に先立ち、インターネットブラウザに対応したデバイスでドライバとの接続を作成し、インストールする必要があります。上述の「デスクトップアプリケーション」の説明に従って、接続プロパティを設定します。

「デスクトップアプリケーション」の手順が完了すると、生成された認証値は、OAuthSettingsLocation で指定されたパスに暗号化されて書き込まれます。デフォルトのファイル名はOAuthSettings.txt です。

接続が正常にテストされたら、OAuth 設定ファイルをヘッドレスマシンにコピーします。

ヘッドレスマシンで、次の接続プロパティを設定し、データに接続します。

  • InitiateOAuth:REFRESH に設定。
  • OAuthClientId:(カスタムアプリのみ)アプリケーションの登録時に割り当てられたクライアントId に設定。
  • OAuthClientSecret:(カスタムアプリのみ)アプリケーションの登録時に割り当てられたクライアントシークレットに設定。
  • OAuthSettingsLocation:OAuth 設定ファイルのパスに設定。アクセストークンの自動リフレッシュを有効にするために、このファイルがSync App に読み書きのアクセス許可を与えることを確認してください。

GCP インスタンスアカウント

GCP 仮想マシン上で実行している場合は、Sync App は仮想マシンに関連付けられたサービスアカウントを使用して認証できます。 このモードを使用するには、AuthScheme をGCPInstanceAccount に設定します。

Google BigQuery Connector for CData Sync

高度な統合

次のセクションでは、高度な統合で必要となるSync App 機能を設定する方法を説明します。

結果セットの保存

大きな結果セットは、テンポラリテーブルまたは永続テーブルに保存する必要があります。 次のプロパティを使用して、テーブルの永続性を制御できます。

テンポラリテーブルへの入力

次のプロパティを使用してテンポラリテーブルを管理できます。これらのテンポラリテーブルはGoogle BigQuery によって管理されており、24時間後に自動的に期限切れになります。

  • AllowLargeResultSets:大きな結果セットを非表示のデータセットのテンポラリテーブルに格納。これが設定されていない場合は、ある一定のサイズより大きな結果セットに対してエラーが返されます。

課金の制限

接続内の任意のクエリの最大コストに対する制限をオーバーライドするには、MaximumBillingTier を設定します。

バルクモード

Google BigQuery では、行のバッチを操作するためのインターフェースがいくつか提供されています。 Sync App は、InsertMode オプションを経由してこれらのメソッドをサポートしており、それぞれが異なるユースケースに特化しています。

  • Streaming API は、最も重要な要素が素早く挿入できることである場合の使用を想定しています。 ただし、API 経由で挿入された行はキューに入れられ、遅れてテーブルに表示されます。 この遅延は20~30分に及ぶこともあり、データを挿入してすぐに他の操作を実行したい場合には、このAPI は不適合です。 ストリーミングキューに行がある間は、テーブルを変更しないようにする必要があります。 Google BigQuery は、ストリーミングキューに行がある間はテーブルでDML 操作を実行できないようにし、テーブルのメタデータ(名前、スキーマなど)が変更されてまだコミットされていないストリーム行が失われる可能性を防ぎます。
  • DML モードAPI は、標準SQL INSERT クエリを使用してデータをアップロードします。 これは、アップロードされた行にエラーがあった場合に即座にレポートされるため、最も堅牢なデータアップロード方法です。 Sync App もまたこのAPI を同期的に使用するため、INSERT の処理が終わると、待機することなく他の操作で任意の行を使用できます。 ただし、これは最も遅い挿入方法であり、データ量が少ない場合にのみ使用する必要があります。
  • Upload モードは、データのアップロードにマルチパートアップロードAPI を使用します。 この方法は、低コストで中規模から大規模のデータのロードを合理的な時間内に実行することを目的とします。 このモードを使用する場合、Sync App は挿入された行をGoogle が管理するストレージにアップロードし、それらのロードジョブを作成します。 このジョブが実行されると、Sync App は待機するか(WaitForBatchResults を参照)、非同期で実行させることができます。 ジョブを待機すると、ジョブが遭遇したエラーがレポートされますが、より多くの時間がかかります。 ジョブが失敗したかどうかを待たずに判断するには、ジョブのストアドプロシージャを使用してジョブのステータスを手動で確認する必要があります。
  • GCSStaging モードはUpload とほぼ同じですが、Google が管理するストレージではなく、Google Cloud Storage アカウントを使用して、ステージングされたデータを保存する点が異なります。 Sync Appは、ロード完了後にファイルを削除しなければならないためこのモードでは非同期に動作できず、したがってWaitForBatchResults は無効です。
    これは外部データに依存するため、GCSBucket をバケット名に設定し、Scope(スペース区切りのスコープのセット)が少なくともスコープhttps://www.googleapis.com/auth/bigquery およびhttps://www.googleapis.com/auth/devstorage.read_write を含むことを確認する必要があります。 また、GCS で使用されるdevstorage スコープでは、Google BigQuery ではユーザーアカウントでこのスコープを使用できないため、サービスアカウントでの接続を必要とします。

バルク挿入に加えて、Sync App はバルクUPDATE およびDELETE 操作の実行もサポートします。 そのためには、Sync App は設定するフィルタと行を含むデータをBigQuery の新しいテーブルにアップロードし、2つのテーブル間でMERGE を実行してテンポラリテーブルをドロップする必要があります。 InsertMode は、テンポラリテーブルに行を挿入する方法を決定しますが、Streaming モードとDML モードはサポートされていません。

ほとんどの場合、Sync App はバルクアップデートのSET 句とWHERE 句のどちらにどのカラムが必要かを判断できます。 「バルクUPDATE をサポートするには、主キーを定義してください」といったエラーが表示された場合は、PrimaryKeyIdentifiers を使用して、キーとして扱うカラムをSync App に指示できます。 更新では、キーカラムの値は一致する行を見つけるためにのみ使用され、値の更新はできません。

Google BigQuery Connector for CData Sync

必要最小限のロール

サービスアカウントに最小限必要なロール

次のロールにより、SELECT クエリをサービスアカウントで機能させることができます:

  • BigQuery Data Viewer (roles/bigquery.dataViewer):データおよびメタデータの読み取り
  • BigQuery Filtered Data Viewer (roles/bigquery.filteredDataViewer):フィルタリングされたテーブルデータの参照
  • BigQuery Job User (roles/bigquery.jobUser):プロジェクト内でのクエリを含むジョブの実行

Google BigQuery Connector for CData Sync

高度な機能

このセクションでは、Google BigQuery Sync App の高度な機能を厳選して説明します。

ユーザー定義ビュー

Sync App を使用すると、事前設定されたクエリによって内容が決定されるユーザー定義ビューと呼ばれる仮想テーブルを定義できます。 このビューは、ドライバーに発行されるクエリを直接制御できない場合に有効です。 カスタムビューの作成と設定の概要については、ユーザー定義ビュー を参照してください。

SSL の設定

SSL の設定 を使用して、Sync App が証明書のネゴシエーションをどのように扱うかを調整します。さまざまな証明書形式を選択できます。 詳しくは、接続文字列オプションにあるSSLServerCert プロパティを参照してください。

ファイアウォールとプロキシ

Windows プロキシとHTTP プロキシを含むファイアウォールとプロキシ に合致するようSync App を設定します。トンネル接続を設定することもできます。

クエリ処理

Sync App は、Google BigQuery にできるだけ多くのSELECT ステートメント処理をオフロードし、残りのクエリをクライアント側のインメモリで処理します。

詳しくはクエリ処理 を参照してください。

ログ

CData ログを調整するために使用可能な設定の概要については、ログ を参照してください。基本的なロギングでは、 次の2つの接続プロパティを設定するだけです。LogModules 接続プロパティを使用してログに記録する情報のサブセットを選択できる、 より洗練されたロギングをサポートする多数の機能があります。

Google BigQuery Connector for CData Sync

SSL の設定

SSL 設定のカスタマイズ

デフォルトでは、Sync App はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL / TLS のネゴシエーションを試みます。

別の証明書を指定するには、利用可能なフォーマットについてSSLServerCert プロパティを参照してください。

Google BigQuery Connector for CData Sync

ファイアウォールとプロキシ

Firewall またはProxy 経由の接続

HTTP プロキシ

Windows のシステムプロキシ経由の接続では、接続プロパティを追加で設定する必要はありません。他のプロキシに接続するには、ProxyAutoDetect をfalse に設定します。

さらにHTTP プロキシへの認証には、ProxyServer とProxyPort に加えてProxyAuthScheme、ProxyUser、およびProxyPassword を設定します。

その他のプロキシ

次のプロパティを設定します。

  • プロキシベースのファイヤーウォールを使用するには、FirewallType、FirewallServer、およびFirewallPort を設定します。
  • 接続をトンネルするには、FirewallType をTUNNEL に設定します。
  • 認証するには、FirewallUser とFirewallPassword を設定します。
  • SOCKS プロキシへの認証には、さらにFirewallType をSOCKS5 に設定します。

Google BigQuery Connector for CData Sync

データモデル

CData Sync App は、ProjectId とDatasetId が設定されているGoogle BigQuery 内で定義されたデータをモデル化します。

ビュー

ビュー は変更ができないクライアントサイドのテーブルです。Sync App はこれらを使って、接続しているGoogle BigQuery のプロジェクトやデータセットに関するメタデータをレポートします。

さらに、Sync App はGoogle BigQuery 内で定義されたサーバーサイドのビューもサポートしています。 これらのビューは、テーブルと同じ方法でSELECT ステートメントで使用できます。 しかしながら、ビュースキーマは容易に古くなってしまうためSync App でリフレッシュが必要です。 詳しくは、RefreshViewSchemas を参照してください。

外部データソース

Google BigQuery はAmazon S3リージョン(aws-us-east-1など)やAzure Storage リージョン(azure-useast2など)にデータを保存する外部データセットを作成できます。 Sync App はこれらのデータセットをサポートしますが、2つの大きな制約があります。

  1. Google BigQuery は外部テーブルを読み取り専用として扱います。 それらに対してINSERT、UPDATE、DELETE クエリを実行することはできません。
  2. Google BigQuery は外部データセット用のStorage API をサポートしていません。 それらをクエリするには、UseStorageApi オプションを無効にする必要があります。 この場合Sync App の読み込みスループットが制限されるため、大きなクエリを実行する場合は、最高のパフォーマンスを得るためにGoogle BigQuery にデータをコピーすることが推奨されます。

ストアドプロシージャ

ストアドプロシージャ は、データソースのファンクションライクなインターフェースです。Sync App はこれらを使用してGoogle BigQuery のテーブルやジョブを管理し、OAuth の操作を行います。

Sync App が提供するクライアント側のストアドプロシージャに加え、Google BigQuery で定義されたサーバー側のストアドプロシージャもサポートされます。 Sync App はプロシージャのパラメータ名を使用したCALL およびEXEC の両方をサポートしています。 Sync App は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 はテーブルの設定記述をサポートしますが、Sync App はデフォルトではこれらをレポートしません。 ShowTableDescriptions は、テーブルの説明をレポートするために使用できます。

主キー

Google BigQuery は主キーを元々サポートしていませんが、Sync App は主キーを定義できるため、データを修正するために主キーを必要とする環境でも使用できます。 主キーは、PrimaryKeyIdentifiers オプションで定義できます。

ポリシータグ

データカタログサービスのポリシータグがテーブルで定義されている場合、PolicyTags カラムを使用してシステムテーブルから取得できます。

SELECT ColumnName, PolicyTags FROM sys_tablecolumns
WHERE CatalogName = 'psychic-valve-137816'
AND SchemaName = 'Northwind'
AND TableName = 'Customers

Google BigQuery Connector for CData Sync

テーブル

テーブル

テーブル定義は、接続文字列オプションにて指定されたGoogle Bigquery のProject やDataset を元に動的に生成されます。

Google BigQuery Connector for CData Sync

ビュー

ビューは、カラムと疑似カラムで構成されます。ビューは、データを示すという点でテーブルに似ていますが、ビューでは更新はサポートされません。通常、ビューとして表されるエンティティは、読み取り専用のエンティティです。多くの場合、これらのデータはストアドプロシージャを使用することで更新できます(その機能がデータソースに適用できる場合)。

ビューに対しては、通常のテーブルと同じようにクエリを実行でき、このときに返されるデータも同様です。

ビューとして公開されるクエリなどの動的ビューや、project_team ワークアイテムの特定の組み合わせを検索するためのビューがサポートされています。

Google BigQuery Connector for CData Sync ビュー

Name Description
Datasets 指定されたプロジェクトのアクセス可能なデータセットをすべてリストします。
PartitionsList テーブルのパーティション定義をリストします。
PartitionsValues テーブルのパーティション範囲をリストします。
Projects 許可されたユーザーのプロジェクトをすべてリストします。

Google BigQuery Connector for CData Sync

Datasets

指定されたプロジェクトのアクセス可能なデータセットをすべてリストします。

Columns

Name Type Description
Id [KEY] String データセットの一意の完全修飾不透過ID。
Kind String リソースタイプ。
FriendlyName String データセットのわかりやすい名前。
DatasetReference_ProjectId String コンテナプロジェクトへの一意の参照。
DatasetReference_DatasetId String プロジェクト名を使用しない、データセットへの一意の参照。

Google BigQuery Connector for CData Sync

PartitionsList

テーブルのパーティション定義をリストします。

Columns

Name Type Description
Id [KEY] String パーティションの一意の識別子。
ProjectId String テーブルが属するプロジェクト。
DatasetId String テーブルが属するデータセット。
TableName String テーブル名。
ColumnName String パーティションに使用する列の名前。
ColumnType String パーティション列のタイプ。
Kind String テーブルが使用するパーティションのタイプ。DATE、RANGE、INGESTION のいずれか。
RequireFilter Boolean テーブルをクエリするためにパーティション列のフィルタが必要かどうか。

Google BigQuery Connector for CData Sync

PartitionsValues

テーブルのパーティション範囲をリストします。

Columns

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 のいずれか。

Google BigQuery Connector for CData Sync

Projects

許可されたユーザーのプロジェクトをすべてリストします。

Columns

Name Type Description
Id [KEY] String プロジェクトの一意の識別子。
Kind String リソースタイプ。
FriendlyName String プロジェクトのわかりやすい名前。
NumericId String プロジェクトの数値ID。
ProjectReference_ProjectId String プロジェクトへの一意の参照。

Google BigQuery Connector for CData Sync

データ型マッピング

データ型のマッピング

Sync App は、データソースの型を、スキーマで使用可能な対応するデータ型にマッピングします。以下のテーブルはこれらのマッピングを説明します。

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

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 these columns can be cast to a string when queried, or the connection can be configured to ignore them by setting IgnoreTypes=decimal.

STRUCT and ARRAY Types

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 which are accessed by name and can have different types. The Sync App 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 Sync App 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

Type Parameters

The Sync App 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.

  • STRING(length)
  • BYTES(length)
  • NUMERIC(precision) or NUMERIC(precision, scale)
  • BIGNUMERIC(precision) or BIGNUMERIC(precision, scale)

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, here 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

Google BigQuery Connector for CData Sync

接続文字列オプション

接続文字列プロパティは、接続を確立するために使用できるさまざまなオプションです。このセクションでは、本プロバイダーの接続文字列で設定できるオプションの一覧を示します。詳細については各リンクをクリックしてください。

接続を確立する方法について詳しくは、接続の確立を参照してください。

Authentication


プロパティ説明
AuthSchemeGoogle BigQuery に接続する際に使用する認証の種類。
ProjectId非修飾テーブルを解決するために使用するProjectId。
DatasetIdThe DatasetId used to resolve unqualified tables.

BigQuery


プロパティ説明
AllowLargeResultSets大きなデータセットの場合に、大きなデータセットをテンポラリーテーブルに格納するかしないか。
UseQueryCacheGoogle BigQuery のビルトインクエリキャッシュを使用するかどうかを指定します。
PageSizeGoogle BigQuery から返されるページあたりの結果数。
PollingIntervalジョブが完了したかどうかを確認するためのチェックの間隔を秒単位で決定します。
AllowUpdatesWithoutKey主キーなしで更新を許可するかどうか。
FilterColumnsこのプロパティを使用する前に、`AllowUpdatesWithoutKey` をtrue に設定してください。
UseLegacySQLこのクエリにBigQuery のレガシーSQL を使用するかどうかを指定します。デフォルトでは、Standard SQL が使われます。

Storage API


プロパティ説明
UseStorageAPIバルクデータ読み出しにBigQuery のStorage API を使用するかどうかを指定します。
UseArrowFormatBigQuery のStorage API でArrow 形式を使用するかどうかを指定します。
StorageThresholdStorage API を呼び出すためにクエリが返す必要がある最小行数。
StoragePageSizeStorage API クエリに使用するページサイズを指定します。

Uploading


プロパティ説明
InsertModeデータを挿入する際に使用する方法を指定します。デフォルトでは、ストリーミング挿入が使用されます。
WaitForBatchResultsバルクアップロードAPI を使用するときにジョブの完了を待つかどうか。 InsertMode がUpload に設定されている場合のみ有効です。
GCSBucketSpecifies the name of a GCS bucket to upload bulk data for staging.
GCSBucketFolderSpecifies the name of the folder in GCSBucket to upload bulk data for staging.
TempTableDatasetThe prefix of the dataset that will contain temporary tables when performing bulk UPDATE or DELETE operations.

OAuth


プロパティ説明
OAuthClientIdOAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。
OAuthClientSecretOAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。

JWT OAuth


プロパティ説明
OAuthJWTCertJWT 証明書のストア。
OAuthJWTCertTypeJWT 証明書を格納するキーストアの種類。
OAuthJWTCertPasswordOAuth JWT 証明書のパスワード。
OAuthJWTCertSubjectOAuth JWT 証明書のサブジェクト。
OAuthJWTIssuerJava Web Token の発行者。
OAuthJWTSubjectアプリケーションからデリゲートアクセスの要求対象となるユーザーサブジェクト。

SSL


プロパティ説明
SSLServerCertTLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。

Firewall


プロパティ説明
FirewallTypeプロキシベースのファイアウォールで使われるプロトコル。
FirewallServerプロキシベースのファイアウォールの名前もしくはIP アドレス。
FirewallPortプロキシベースのファイアウォールのTCP ポート。
FirewallUserプロキシベースのファイアウォールに認証するために使うユーザー名。
FirewallPasswordプロキシベースのファイアウォールへの認証に使われるパスワード。

Proxy


プロパティ説明
ProxyAutoDetectこれは、システムプロキシ設定を使用するかどうかを示します。これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。
ProxyServerHTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。
ProxyPortProxyServer プロキシが起動しているTCP ポート。
ProxyAuthSchemeProxyServer プロキシへの認証で使われる認証タイプ。
ProxyUserProxyServer プロキシへの認証に使われるユーザー名。
ProxyPasswordProxyServer プロキシへの認証に使われるパスワード。
ProxySSLTypeProxyServer プロキシへの接続時に使用するSSL タイプ。
ProxyExceptionsProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。

Logging


プロパティ説明
LogModulesログファイルに含めるコアモジュール。

Schema


プロパティ説明
Locationテーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。
BrowsableSchemasこのプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
Tablesこのプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。
Views使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。
RefreshViewSchemasprovider が自動的に最新のビュースキーマを決定することを許可します。
ShowTableDescriptionsプラットフォームのメタデータAPI とsys_tables / sys_views を介してテーブルの説明を返すかどうかを制御します。
PrimaryKeyIdentifiersSet this property to define primary keys.
AllowedTableTypesSpecifies what kinds of tables will be visible.
FlattenObjectsDetermines whether the provider flattens STRUCT fields into top-level columns.

Miscellaneous


プロパティ説明
StorageTimeoutHow long a Storage API connection must remain idle before the provider reconnects.
AllowAggregateParametersQueryPassthrough が有効になっているときに、パラメータで生の集計を使用できるようにします。
ApplicationNameAn application name in the form application/version. For example, AcmeReporting/1.0.
AuditLimit監査テーブル内に保存される行の最大数。
AuditMode監査テーブルに記録するprovider アクション。
BigQueryOptionsBigQuery オプションのカンマ区切りのリスト。
GenerateSchemaFilesスキーマを生成して保存するユーザーの好みのタイミングを示します。
MaximumBillingTierMaximumBillingTier はTB あたりの基本料金の乗数となる正の整数です。例えばMaximumBillingTier を2 に設定すると、そのクエリの最大費用はTB あたり2x 基本価格になります。
MaximumBytesBilledBigQuery がジョブがキャンセルされる前に消費を許容するバイト数を制限します。
MaxRowsクエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。
Otherこれらの隠しプロパティは特定のユースケースでのみ使用されます。
PseudoColumnsこのプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。
QueryPassthroughこのオプションは、クエリをGoogle BigQuery サーバーにas-is で渡します。
TableSamplePercentThis determines what percent of a table is sampled with the TABLESAMPLE operator.
Timeoutタイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。
UserDefinedViewsカスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。
Google BigQuery Connector for CData Sync

Authentication

このセクションでは、本プロバイダーの接続文字列で設定可能なAuthentication プロパティの全リストを提供します。


プロパティ説明
AuthSchemeGoogle BigQuery に接続する際に使用する認証の種類。
ProjectId非修飾テーブルを解決するために使用するProjectId。
DatasetIdThe DatasetId used to resolve unqualified tables.
Google BigQuery Connector for CData Sync

AuthScheme

Google BigQuery に接続する際に使用する認証の種類。

解説

  • Auto:設定した他の接続プロパティに基づいて、ドライバーが自動的に決定。
  • OAuth:標準のユーザーアカウントを使用してOAuth 認証を実行する場合に設定。
  • OAuthJWT:OAuth サービスアカウントを使用してOAuth 認証を実行する場合に設定。
  • GCPInstanceAccount:Google Cloud Platform インスタンスからアクセストークンを取得する場合に設定。

Google BigQuery Connector for CData Sync

ProjectId

非修飾テーブルを解決するために使用するProjectId。

解説

クエリがテーブルを参照する場合、プロジェクトを指定しないか、プロジェクトをテーブルのカタログ部分に直接修飾できます。

/* Implicit, resolved against connection string */
SELECT FirstName, LastName FROM `Northwind`.`customers`

/* Explicit, project specified as catalog */
SELECT FirstName, LastName FROM `psychic-valve-137816`.`Northwind`.`customers`

クエリが非修飾テーブルを参照する場合、次のように解決します。

  1. このプロパティが設定されている場合、指定されたプロジェクトが使用されます。
  2. その他の場合、BillingProjectId が設定されていればそのプロジェクトが使用されます。
  3. 最後に、これらが2つとも設定されていない場合、クエリ内の最初のテーブルのカタログが使用されます。 上の例ではpsychic-valve-137816 プロジェクトが、クエリに追加される他の非修飾テーブル(例えば、JOIN が追加される場合)の解決に使用されます。

Note that the query is not consulted when QueryPassthrough is enabled. So you either must set the connection ProjectId and DatasetId or qualify each individual table; otherwise the SELECT query fails.

Google BigQuery Connector for CData Sync

DatasetId

The DatasetId used to resolve unqualified tables.

解説

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`

If the query contains unqualified table references then they are resolved this way:

  1. If this property is set then the specified dataset is used.
  2. Otherwise the schema from the first table in the query is used. In the above example the Northwind dataset would be used to resolve any other unqualified tables that would appear in the query (for example, if a JOIN were added).

Note that the query is not consulted when QueryPassthrough is enabled. So you either must set the connection ProjectId and DatasetId or qualify each individual table; otherwise the SELECT query fails.

Google BigQuery Connector for CData Sync

BigQuery

このセクションでは、本プロバイダーの接続文字列で設定可能なBigQuery プロパティの全リストを提供します。


プロパティ説明
AllowLargeResultSets大きなデータセットの場合に、大きなデータセットをテンポラリーテーブルに格納するかしないか。
UseQueryCacheGoogle BigQuery のビルトインクエリキャッシュを使用するかどうかを指定します。
PageSizeGoogle BigQuery から返されるページあたりの結果数。
PollingIntervalジョブが完了したかどうかを確認するためのチェックの間隔を秒単位で決定します。
AllowUpdatesWithoutKey主キーなしで更新を許可するかどうか。
FilterColumnsこのプロパティを使用する前に、`AllowUpdatesWithoutKey` をtrue に設定してください。
UseLegacySQLこのクエリにBigQuery のレガシーSQL を使用するかどうかを指定します。デフォルトでは、Standard SQL が使われます。
Google BigQuery Connector for CData Sync

AllowLargeResultSets

大きなデータセットの場合に、大きなデータセットをテンポラリーテーブルに格納するかしないか。

解説

大きなデータセットの場合に、大きなデータセットをテンポラリーテーブルに格納するかしないか。

Google BigQuery Connector for CData Sync

UseQueryCache

Google BigQuery のビルトインクエリキャッシュを使用するかどうかを指定します。

解説

Google BigQuery は最近のクエリの結果をキャッシュし、デフォルトでこのキャッシュをクエリに使用します。Google BigQuery はテーブルが更新されると自動的にキャッシュを更新するので、クエリが古いデータを返すリスクがなくパフォーマンスは一般的に良くなります。

これがfalse に設定されている場合、クエリは常にテーブルに対して直接実行されます。

Google BigQuery Connector for CData Sync

PageSize

Google BigQuery から返されるページあたりの結果数。

解説

PageSize は、Google BigQuery から返されるページあたりの結果数をコントロールできます。 より大きなページサイズを設定することにより、一度のHTTP リクエストで返せるデータの量を増やすことができます。ただし、実行にはより長い時間がかかります。 より小さなページサイズを設定することにより、すべてのデータを取得するのに必要なHTTP リクエスト数が増加します。ただし、タイムアウト切断が起こらないようにすることを推奨します。

UseStorageApi が有効になっていて、実行中のクエリをStorage API で実行できる場合、このオプションは効果がないことに注意してください。 詳しくは、StoragePageSize を参照してください。

Google BigQuery Connector for CData Sync

PollingInterval

ジョブが完了したかどうかを確認するためのチェックの間隔を秒単位で決定します。

解説

これはSync App に直接ストリーミングされるのではなく、テーブルに保存されるクエリにのみ適用されます。 これは3つの場合にのみ適用されます:

  • DestinationTable が設定されている場合。
  • AllowLargeResultSets がTrue でクエリが Timeout 秒以上かかる場合。
  • UseStorageApi が有効でクエリが複雑な場合。

このプロパティは、クエリ結果が準備できているかを確認する間隔をどの長さにするかを決定します。 非常に大きなクエリ結果や複雑なクエリは処理に時間がかかります。ポーリング間隔が短い場合には、クエリ状況を確認する不要な要求が送られる結果を引き起こします。

Google BigQuery Connector for CData Sync

AllowUpdatesWithoutKey

主キーなしで更新を許可するかどうか。

解説

主キーなしで更新を許可するかどうか。

Google BigQuery Connector for CData Sync

FilterColumns

このプロパティを使用する前に、`AllowUpdatesWithoutKey` をtrue に設定してください。

解説

このプロパティを使用する前に、`AllowUpdatesWithoutKey` をtrue に設定することを忘れないでください。

プロパティを次のように設定します。

`filterColumns=col1[,col2[,col3]];`

Google BigQuery Connector for CData Sync

UseLegacySQL

このクエリにBigQuery のレガシーSQL を使用するかどうかを指定します。デフォルトでは、Standard SQL が使われます。

解説

True に設定すると、クエリはBigQuery のレガシーSQL ダイアレクトを使用してクエリをリビルドします。 False に設定した場合は、クエリはBigQuery の標準SQL を使用します:https://cloud.google.com/bigquery/sql-reference/
UseLegacySQL がfalse に設定された場合は、AllowLargeResultSets の値は無視されます。クエリはAllowLargeResultSets がtrue の場合と同じように実行されます。

Google BigQuery Connector for CData Sync

Storage API

このセクションでは、本プロバイダーの接続文字列で設定可能なStorage API プロパティの全リストを提供します。


プロパティ説明
UseStorageAPIバルクデータ読み出しにBigQuery のStorage API を使用するかどうかを指定します。
UseArrowFormatBigQuery のStorage API でArrow 形式を使用するかどうかを指定します。
StorageThresholdStorage API を呼び出すためにクエリが返す必要がある最小行数。
StoragePageSizeStorage API クエリに使用するページサイズを指定します。
Google BigQuery Connector for CData Sync

UseStorageAPI

バルクデータ読み出しにBigQuery のStorage API を使用するかどうかを指定します。

解説

デフォルトで、Sync App はデフォルトのREST API の代わりにStorage API を使用します。 クエリの複雑さに応じて、Sync App は次の2つの方法のいずれかでクエリを実行します:

  • 1つのテーブルのみからすべてのカラムを読み取る、LIMIT 以外の余分な句を持たない単純なクエリは、Storage API 内で直接実行されます。
  • 他のすべてのクエリは、テンポラリテーブルに書き込むクエリジョブとして実行されます。クエリが完了すると、Storage API を使用してテンポラリテーブルから結果が読み出されます。

BigQuery Storage API は、REST API(このオプションをfalse に設定することでアクセス可能)よりも速く効率的にデータを読み出すことができますが、価格が異なり、独自のOAuth アプリを使用する際は追加のOAuth 権限が必要になります。 また、PageSize の代わりに別個のStoragePageSize プロパティを使用します。

BigQuery REST API は追加の権限を必要とせず、標準価格を使用しますが、Storage API よりも低速です。

Google BigQuery Connector for CData Sync

UseArrowFormat

BigQuery のStorage API でArrow 形式を使用するかどうかを指定します。

解説

このプロパティは、UseStorageApi が有効になっている場合にのみ効果があります。Storage API に対して読み取りを実行する場合、Sync App はさまざまな形式のデータをリクエストできます。 デフォルトではAvro を使用しますが、このオプションを有効にするとArrow が使用されます。

このオプションは、時系列データや、その他の多くのdate、time、datetime、timestamp フィールドを持つデータセットを扱う場合に有効にする必要があります。 Arrow を使用するこれらのデータセットでは、Avro を使用するものよりも顕著な改善が見られます。 それ以外の場合、Avro とArrow の読み取り時間は非常に近く、両者を切り替えても大きな違いはありません。

Google BigQuery Connector for CData Sync

StorageThreshold

Storage API を呼び出すためにクエリが返す必要がある最小行数。

解説

Sync App は、Storage API で直接実行するには複雑すぎるクエリを受け取ると、クエリジョブを作成し、Storage API を使用してクエリ結果テーブルから読み取ります。 クエリジョブが、このオプションで設定された行数よりも少ない値を返した場合、結果は直接返されStorage API は使用されません。

この値は1 から100000 の間に設定する必要があります。大きい値では、結果セットが大きい場合にのみStorage API を使用しますが、クエリジョブからより多くの結果を読み取ることで遅延が発生します。 値が小さいほど遅延は小さくなりますが、より多くのクエリにStorage API を使用します。

このオプションは、UseStorageApi が有効になっていて、実行中のクエリをStorage API で直接実行できない場合にのみ効果があることに注意してください。 Storage で直接実行されるクエリは、クエリジョブを作成しません。

Google BigQuery Connector for CData Sync

StoragePageSize

Storage API クエリに使用するページサイズを指定します。

解説

UseStorageApi が有効で、実行中のクエリがStorage API で実行可能な場合、このオプションはSync App がクライアントでバッファできる行数を制御します。

一般的に、値を大きくすると、メモリを消費しますがクエリが高速になります。値を小さくすると、メモリは節約されますがクエリは遅くなります。

Google BigQuery Connector for CData Sync

Uploading

このセクションでは、本プロバイダーの接続文字列で設定可能なUploading プロパティの全リストを提供します。


プロパティ説明
InsertModeデータを挿入する際に使用する方法を指定します。デフォルトでは、ストリーミング挿入が使用されます。
WaitForBatchResultsバルクアップロードAPI を使用するときにジョブの完了を待つかどうか。 InsertMode がUpload に設定されている場合のみ有効です。
GCSBucketSpecifies the name of a GCS bucket to upload bulk data for staging.
GCSBucketFolderSpecifies the name of the folder in GCSBucket to upload bulk data for staging.
TempTableDatasetThe prefix of the dataset that will contain temporary tables when performing bulk UPDATE or DELETE operations.
Google BigQuery Connector for CData Sync

InsertMode

データを挿入する際に使用する方法を指定します。デフォルトでは、ストリーミング挿入が使用されます。

解説

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.

  • Streaming uses the Google BigQuery streaming API (also called insertAll).
  • DML uses the Google BigQuery query API to generate INSERT SQL statements which insert individual rows.
  • Upload uses the Google BigQuery upload API to create a load job which copies the rows from temporary server-side storage.
  • GCSStaging is similar to the Upload mode except that it uses your Google Cloud Storage account instead of public storage.

UseLegacySQL がtrue の場合、Streaming とUploadモードのみ使用可能です。レガシーSQL ダイアレクトはDML ステートメントをサポートしていません。

Google BigQuery Connector for CData Sync

WaitForBatchResults

バルクアップロードAPI を使用するときにジョブの完了を待つかどうか。 InsertMode がUpload に設定されている場合のみ有効です。

解説

このプロパティは、Sync App がバッチジョブによるステータス報告を待つかどうかを決定します。 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:

  1. Inserts will never fail silently. If the Sync App does not wait for the job to finish, it will never receive an error if the job failed to execute.
  2. If the insert batch size is small enough, the Sync App may submit jobs quickly enough that it hits Google BigQuery's load job limits. This does not happen when waiting for batch results because the Sync App will not allow more than one job to execute at the same time on the same connection.

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.

Google BigQuery Connector for CData Sync

GCSBucket

Specifies the name of a GCS bucket to upload bulk data for staging.

解説

Only applies when InsertMode is set to GCSStaging, and if that option is set to use staging then this option is required.

Google BigQuery Connector for CData Sync

GCSBucketFolder

Specifies the name of the folder in GCSBucket to upload bulk data for staging.

解説

Only applies when InsertMode is set to GCSStaging. If not set the Sync App defaults to writing to the root of the bucket.

Google BigQuery Connector for CData Sync

TempTableDataset

The prefix of the dataset that will contain temporary tables when performing bulk UPDATE or DELETE operations.

解説

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 Sync App 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.

Google BigQuery Connector for CData Sync

OAuth

このセクションでは、本プロバイダーの接続文字列で設定可能なOAuth プロパティの全リストを提供します。


プロパティ説明
OAuthClientIdOAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。
OAuthClientSecretOAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。
Google BigQuery Connector for CData Sync

OAuthClientId

OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。

解説

OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId 値、およびクライアントシークレットOAuthClientSecret が提供されます。

Google BigQuery Connector for CData Sync

OAuthClientSecret

OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。

解説

OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId が提供されます。また、コンシューマーシークレットと呼ばれるクライアントシークレットも提供されます。クライアントシークレットをOAuthClientSecret プロパティに設定します。

Google BigQuery Connector for CData Sync

JWT OAuth

このセクションでは、本プロバイダーの接続文字列で設定可能なJWT OAuth プロパティの全リストを提供します。


プロパティ説明
OAuthJWTCertJWT 証明書のストア。
OAuthJWTCertTypeJWT 証明書を格納するキーストアの種類。
OAuthJWTCertPasswordOAuth JWT 証明書のパスワード。
OAuthJWTCertSubjectOAuth JWT 証明書のサブジェクト。
OAuthJWTIssuerJava Web Token の発行者。
OAuthJWTSubjectアプリケーションからデリゲートアクセスの要求対象となるユーザーサブジェクト。
Google BigQuery Connector for CData Sync

OAuthJWTCert

JWT 証明書のストア。

解説

クライアント証明書のための証明書ストア名。

OAuthJWTCertType フィールドは、OAuthJWTCert により指定された証明書ストアの種類を指定します。 ストアがパスワードで保護されている場合は、OAuthJWTCertPassword でパスワードを指定します。

OAuthJWTCert は、OAuthJWTCertSubject フィールドとともにクライアント証明書を指定するために使われます。 OAuthJWTCert に値がある場合で、OAuthJWTCertSubject が設定されている場合は、証明書の検索が始まります。 詳しくは、OAuthJWTCertSubject フィールドを参照してください。

証明書ストアの指定はプラットフォームに依存します。

Windows の共通のユーザとシステム証明書ストアの指定は以下のとおりです。

MY個人証明書と関連付けられた秘密キーを格納している証明書ストア。
CA証明機関の証明書。
ROOTルート証明書。
SPCソフトウェア発行元証明書。

Javaでは、証明書ストアは通常、証明書および任意の秘密キーを含むファイルです。

証明書ストアの種類がPFXFile の場合は、このプロパティにファイル名を設定します。 PFXBlob の場合は、このプロパティをPFX ファイルのバイナリコンテンツ(例えば、PKCS12証明書ストア)に設定する必要があります。

Google BigQuery Connector for CData Sync

OAuthJWTCertType

JWT 証明書を格納するキーストアの種類。

解説

このプロパティには次の値の一つを設定できます。

USERWindows の場合、現在のユーザーにより所有された証明書ストアであることを指定します。 Note:この種類はJava では利用できません。
MACHINEWindows の場合、この証明書ストアがシステムストアであることを指定します。 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 サービスに接続する場合にのみ有効です。

Google BigQuery Connector for CData Sync

OAuthJWTCertPassword

OAuth JWT 証明書のパスワード。

解説

証明書ストアでパスワードが必要である場合、このプロパティを使用してパスワードを指定し、証明書ストアにアクセスできます。

GOOGLEJSON OAuthJWTCertType を使用する場合は必要ありません。Google JSON キーは暗号化されていません。

Google BigQuery Connector for CData Sync

OAuthJWTCertSubject

OAuth JWT 証明書のサブジェクト。

解説

証明書のサブジェクトは、証明書をロードするときにストア内の証明書を検索するために使用されます。

完全に一致するものが見つからない場合、ストアはプロパティの値を含むサブジェクトを検索します。

それでも一致するものが見つからない場合、プロパティは空白で設定され、証明書は選択されません。

"*" に設定すると、証明書ストアの1番目の証明書が選択されます。

証明書のサブジェクトは識別の名前フィールドおよび値のカンマ区切りのリストです。 例えば、"CN=www.server.com, OU=test, C=US, [email protected]"。共通のフィールドとその説明は以下のとおりです。

フィールド説明
CN共通名。一般的には、www.server.com のようなホスト名です。
O法人名
OU法人の部署名
L法人の住所(市町村名)
S法人の住所(都道府県)
C国名
EEメールアドレス

フィールド値にカンマが含まれている場合は、それを引用符で囲む必要があります。

Google BigQuery Connector for CData Sync

OAuthJWTIssuer

Java Web Token の発行者。

解説

Java Web Token の発行者。通常は、OAuth アプリケーションのクライアントId またはE メールアドレスとなります。

GOOGLEJSON OAuthJWTCertType を使用する場合は必要ありません。Google JSON キーには、発行者アカウントのコピーが含まれています。

Google BigQuery Connector for CData Sync

OAuthJWTSubject

アプリケーションからデリゲートアクセスの要求対象となるユーザーサブジェクト。

解説

アプリケーションからデリゲートアクセスの要求対象となるユーザーサブジェクトです。通常は、ユーザーのアカウント名またはE メールアドレスとなります。

Google BigQuery Connector for CData Sync

SSL

このセクションでは、本プロバイダーの接続文字列で設定可能なSSL プロパティの全リストを提供します。


プロパティ説明
SSLServerCertTLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。
Google BigQuery Connector for CData Sync

SSLServerCert

TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。

解説

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

これを指定しない場合は、マシンが信用するすべての証明書が受け入れられます。

すべての証明書の受け入れを示すには、'*'を使用します。セキュリティ上の理由から、これはお勧めできません。

Google BigQuery Connector for CData Sync

Firewall

このセクションでは、本プロバイダーの接続文字列で設定可能なFirewall プロパティの全リストを提供します。


プロパティ説明
FirewallTypeプロキシベースのファイアウォールで使われるプロトコル。
FirewallServerプロキシベースのファイアウォールの名前もしくはIP アドレス。
FirewallPortプロキシベースのファイアウォールのTCP ポート。
FirewallUserプロキシベースのファイアウォールに認証するために使うユーザー名。
FirewallPasswordプロキシベースのファイアウォールへの認証に使われるパスワード。
Google BigQuery Connector for CData Sync

FirewallType

プロキシベースのファイアウォールで使われるプロトコル。

解説

このプロパティは、Sync App がFirewallServer プロキシ経由でトンネルトラフィックを使うためのプロトコルを指定します。デフォルトでは、Sync App はシステムプロキシに接続します。この動作を無効化し次のプロキシタイプのどれかで接続するには、ProxyAutoDetect をfalse に設定します。

タイプ デフォルトポート 説明
TUNNEL 80 これが設定されている場合、Sync App はGoogle BigQuery への接続を開き、プロキシを経由して通信が行われます。
SOCKS4 1080 これが設定されている場合、Sync App はデータをFirewallServer およびFirewallPort で指定されたSOCS 4 プロキシ経由で送信し、接続リクエストが許容されるかどうかを決定します。
SOCKS5 1080 これが設定されている場合、Sync App はデータをFirewallServer およびFirewallPort で指定されたSOCS 5 プロキシ経由で送信します。プロキシに認証が必要な場合には、FirewallUser およびFirewallPassword をプロキシが認識する認証情報に設定します。

HTTP プロキシへの接続には、ProxyServer およびProxyPort ポートを使ってください。HTTP プロキシへの認証には、ProxyAuthScheme、ProxyUser、およびProxyPassword を使ってください。

Google BigQuery Connector for CData Sync

FirewallServer

プロキシベースのファイアウォールの名前もしくはIP アドレス。

解説

ファイアウォールトラバーサルを許容するために設定するIP アドレス、DNS 名、もしくはプロキシホスト名を指定するプロパティです。プロトコルはFirewallType で指定されます。このプロパティとFirewallServer を使って、SOCKS 経由での接続、もしくはトンネリングが可能です。HTTP プロキシへの接続には、ProxyServer を使用します。

Sync App はデフォルトでシステムプロキシを使うので注意してください。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定してください。

Google BigQuery Connector for CData Sync

FirewallPort

プロキシベースのファイアウォールのTCP ポート。

解説

ファイアウォールトラバーサルを許容するために設定するプロキシベースのファイアウォールのTCP ポート。名前もしくはIP アドレスを指定するには、FirewallServer を使います。FirewallType でプロトコルを指定します。

Google BigQuery Connector for CData Sync

FirewallUser

プロキシベースのファイアウォールに認証するために使うユーザー名。

解説

FirewallUser およびFirewallPassword プロパティは、FirewallType により指定された認証方式に則り、FirewallServer、およびFirewallPort で指定されたプロキシに対しての認証に使われます。

Google BigQuery Connector for CData Sync

FirewallPassword

プロキシベースのファイアウォールへの認証に使われるパスワード。

解説

このプロパティは、FirewallType により指定された認証メソッドに則り、FirewallServer およびFirewallPort で指定されたプロキシに渡されます。

Google BigQuery Connector for CData Sync

Proxy

このセクションでは、本プロバイダーの接続文字列で設定可能なProxy プロパティの全リストを提供します。


プロパティ説明
ProxyAutoDetectこれは、システムプロキシ設定を使用するかどうかを示します。これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。
ProxyServerHTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。
ProxyPortProxyServer プロキシが起動しているTCP ポート。
ProxyAuthSchemeProxyServer プロキシへの認証で使われる認証タイプ。
ProxyUserProxyServer プロキシへの認証に使われるユーザー名。
ProxyPasswordProxyServer プロキシへの認証に使われるパスワード。
ProxySSLTypeProxyServer プロキシへの接続時に使用するSSL タイプ。
ProxyExceptionsProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。
Google BigQuery Connector for CData Sync

ProxyAutoDetect

これは、システムプロキシ設定を使用するかどうかを示します。これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。

解説

これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。

HTTP プロキシへの接続には、ProxyServer を参照してください。SOCKS やトンネリングなどの他のプロキシには、FirewallType を参照してください。

Google BigQuery Connector for CData Sync

ProxyServer

HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。

解説

HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。HTTP プロキシへの認証には、Sync App はHTTP、Windows(NTLM)、もしくはKerberos 認証タイプを使用することができます。

SOCKS プロキシを経由して接続する、もしくは接続をトンネルするには、FirewallType を参照してください。

デフォルトで、Sync App はsystem プロキシを使います。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定します。

Google BigQuery Connector for CData Sync

ProxyPort

ProxyServer プロキシが起動しているTCP ポート。

解説

HTTP トラフィックをリダイレクトするHTTP プロキシが実行されているポート。ProxyServer でHTTP プロキシを指定します。その他のプロキシタイプについては、FirewallType を参照してください。

Google BigQuery Connector for CData Sync

ProxyAuthScheme

ProxyServer プロキシへの認証で使われる認証タイプ。

解説

この値は、ProxyServer およびProxyPort で指定されるHTTP プロキシに認証するために使われる認証タイプを指定します。

Sync App は、デフォルトでsystem proxy settings を使い、追加での設定が不要です。他のプロキシへの接続をする場合には、ProxyServer およびProxyPort に加え、ProxyAutoDetect をfalse に設定します。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。

認証タイプは、次のどれかになります。

  • BASIC: Sync App はHTTP BASIC 認証を行います。
  • DIGEST: Sync App はHTTP DIGEST 認証を行います。
  • NEGOTIATE: Sync App は認証において有効なプロトコルに応じて、NTLM もしくはKereros トークンを取得します。
  • PROPRIETARY: Sync App はNTLM もしくはKerberos トークンを発行しません。このトークンを、HTTP リクエストのAuthorization ヘッダーに含める必要があります。

SOCKS 5 認証のような他の認証タイプを使用するには、FirewallType を参照してください。

Google BigQuery Connector for CData Sync

ProxyUser

ProxyServer プロキシへの認証に使われるユーザー名。

解説

ProxyUser および ProxyPassword オプションは、ProxyServer で指定されたHTTP プロキシに対して接続および認証するために使用されます。

ProxyAuthScheme で使用可能な認証タイプを選択することができます。HTTP 認証を使う場合、これをHTTP プロキシで識別可能なユーザーのユーザー名に設定します。Windows もしくはKerberos 認証を使用する場合、このプロパティを次の形式のどれかでユーザー名に設定します。

user@domain
domain\user

Google BigQuery Connector for CData Sync

ProxyPassword

ProxyServer プロキシへの認証に使われるパスワード。

解説

このプロパティは、NTLM(Windows)、Kerberos、もしくはHTTP 認証をサポートするHTTP プロキシサーバーに認証するために使われます。HTTP プロキシを指定するためには、ProxyServer およびProxyPort を設定します。認証タイプを指定するためにはProxyAuthScheme を設定します。

HTTP 認証を使う場合、さらにHTTP プロキシにProxyUser およびProxyPassword を設定します。

NTLM 認証を使う場合、Windows パスワードにProxyUser およびProxyPassword を設定します。Kerberos 認証には、これらを入力する必要があります。

SOCKS 5 認証もしくは、トンネリングは、FirewallType を参照してください。

デフォルトで、Sync App はsystem プロキシを使います。他のプロキシに接続する場合には、これをfalse に設定します。

Google BigQuery Connector for CData Sync

ProxySSLType

ProxyServer プロキシへの接続時に使用するSSL タイプ。

解説

このプロパティは、ProxyServer で指定されたHTTP プロキシへの接続にSSL を使用するかどうかを決定します。この値は、AUTO、ALWAYS、NEVER、TUNNEL のいずれかです。有効な値は次のとおりです。

AUTOデフォルト設定。URL がHTTPS URL の場合、Sync App は、TUNNEL オプションを使います。URL がHTTP URL の場合、コンポーネントはNEVER オプションを使います。
ALWAYS接続は、常にSSL 有効となります。
NEVER接続は、SSL 有効になりません。
TUNNEL接続は、トンネリングプロキシを経由します。プロキシサーバーがリモートホストへの接続を開き、プロキシを経由して通信が行われます。

Google BigQuery Connector for CData Sync

ProxyExceptions

ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。

解説

ProxyServer は、このプロパティで定義されたアドレスを除くすべてのアドレスに使用されます。セミコロンを使用してエントリを区切ります。

Sync App は、追加設定なしにデフォルトでシステムのプロキシ設定を使います。この接続のプロキシ例外を明示的に構成するには、ProxyAutoDetect をfalse に設定して、ProxyServer およびProxyPort を設定する必要があります。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。

Google BigQuery Connector for CData Sync

Logging

このセクションでは、本プロバイダーの接続文字列で設定可能なLogging プロパティの全リストを提供します。


プロパティ説明
LogModulesログファイルに含めるコアモジュール。
Google BigQuery Connector for CData Sync

LogModules

ログファイルに含めるコアモジュール。

解説

指定された(';' で区切られた)モジュールのみがログファイルに含まれます。デフォルトではすべてのモジュールが含まれます。

概要はログ ページを参照してください。

Google BigQuery Connector for CData Sync

Schema

このセクションでは、本プロバイダーの接続文字列で設定可能なSchema プロパティの全リストを提供します。


プロパティ説明
Locationテーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。
BrowsableSchemasこのプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
Tablesこのプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。
Views使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。
RefreshViewSchemasprovider が自動的に最新のビュースキーマを決定することを許可します。
ShowTableDescriptionsプラットフォームのメタデータAPI とsys_tables / sys_views を介してテーブルの説明を返すかどうかを制御します。
PrimaryKeyIdentifiersSet this property to define primary keys.
AllowedTableTypesSpecifies what kinds of tables will be visible.
FlattenObjectsDetermines whether the provider flattens STRUCT fields into top-level columns.
Google BigQuery Connector for CData Sync

Location

テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。

解説

Sync App のスキーマファイル(テーブルとビューの場合は.rsd ファイル、ストアドプロシージャの場合は.rsb ファイル)を含むディレクトリへのパス。このフォルダの場所は、実行ファイルの場所からの相対パスにすることができます。Location プロパティは、定義をカスタマイズしたり(例えば、カラム名を変更する、カラムを無視するなど)、新しいテーブル、ビュー、またはストアドプロシージャでデータモデルを拡張する場合にのみ必要です。

指定しない場合、デフォルトの場所は"%APPDATA%\\CData\\GoogleBigQuery Data Provider\\Schema" となり、%APPDATA% はユーザーのコンフィギュレーションディレクトリに設定されます:

Google BigQuery Connector for CData Sync

BrowsableSchemas

このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。

解説

スキーマをデータベースからリストすると、負荷がかかる可能性があります。接続文字列でスキーマのリストを提供すると、 パフォーマンスが向上します。

Google BigQuery Connector for CData Sync

Tables

このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。

解説

テーブルを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でテーブルのリストを提供すると、Sync App のパフォーマンスが向上します。

このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。

カンマ区切りのリストで使用したいテーブルを指定します。各テーブルは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space` です。

複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。

Google BigQuery Connector for CData Sync

Views

使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。

解説

ビューを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でビューのリストを提供すると、Sync App のパフォーマンスが向上します。

このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。

カンマ区切りのリストで使用したいビューを指定します。各ビューは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space` です。

複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。

Google BigQuery Connector for CData Sync

RefreshViewSchemas

provider が自動的に最新のビュースキーマを決定することを許可します。

解説

BigQuery ビューを使用する場合、BigQuery はビュー自体とともにビュースキーマのコピーを保存します。ただし、これらの保存されたビュースキーマは、ビューで使用されるテーブルが変更されても更新されません。これは、保存されたビュースキーマが容易に古くなり、ビューを使用するクエリが失敗する可能性があることを意味します。

デフォルトでは、Sync App は保存されたビュースキーマを使用せず、代わりにビューをクエリして、利用可能なカラムを決定します。これにより、スキーマが最新であることが保証されますが、Sync App がジョブのクエリを開始する必要があります。

このオプションを無効にすると、保存されたビュースキーマを使用するようにSync App に強制できます。これにより、ビュースキーマを取得するときにSync App がクエリを実行することを防ぐことができますが、同時に、スキーマが古い場合はビューを使用するクエリが失敗することも意味します。

Google BigQuery Connector for CData Sync

ShowTableDescriptions

プラットフォームのメタデータAPI とsys_tables / sys_views を介してテーブルの説明を返すかどうかを制御します。

解説

デフォルトでは、テーブルの説明は表示されません。これは、API が、テーブルの読み取りに通常必要なリクエスト以上の追加のリクエストを必要とするためです。

このオプションを有効にするとテーブルの説明が表示されますが、テーブルリストを取得する際に、テーブルごとに追加のAPI リクエストが発生します。これにより、大規模なデータセットでのメタデータ操作が遅くなる可能性があります。

Google BigQuery Connector for CData Sync

PrimaryKeyIdentifiers

Set this property to define primary keys.

解説

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:

  1. The first rule *=key means that every table without a more specific rule will have one primary key column called key. Tables that do not have a key column will not have any primary keys.
  2. The second rule transactions=tx_date,tx_serial means that the transactions table will have the two primary key columns tx_date and tx_serial. If any of those columns are missing from the table then they will be ignored.
  3. The third rule user_comments= means that the user_comments table will have no primary keys. The only use that empty key lists have is in overriding the default rule. If there is no default rule present then the only tables with primary keys would be the ones explicitly listed.

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"

Google BigQuery Connector for CData Sync

AllowedTableTypes

Specifies what kinds of tables will be visible.

解説

This option is a comma-separated list of the table type values that the Sync App displays. Any table-like or view-like entity that doesn't have a matching type will not be reported when listing tables.

  • TABLE Standard tables
  • EXTERNAL Read-only table stored on another service (like GCS or Drive)
  • SNAPSHOT A read-only table that preserves the data of another table at a specific point in time
  • VIEW Standard views
  • MATERIALIZED_VIEW A view that is recalculated and cached each time its base table changes

For example, to restrict the Sync App to listing only simple tables and views, this option would be set to TABLE,VIEW

Google BigQuery Connector for CData Sync

FlattenObjects

Determines whether the provider flattens STRUCT fields into top-level columns.

解説

By default the Sync App 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 Sync App 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 Sync App reports only the location column when flattening is disabled.

Google BigQuery Connector for CData Sync

Miscellaneous

このセクションでは、本プロバイダーの接続文字列で設定可能なMiscellaneous プロパティの全リストを提供します。


プロパティ説明
StorageTimeoutHow long a Storage API connection must remain idle before the provider reconnects.
AllowAggregateParametersQueryPassthrough が有効になっているときに、パラメータで生の集計を使用できるようにします。
ApplicationNameAn application name in the form application/version. For example, AcmeReporting/1.0.
AuditLimit監査テーブル内に保存される行の最大数。
AuditMode監査テーブルに記録するprovider アクション。
BigQueryOptionsBigQuery オプションのカンマ区切りのリスト。
GenerateSchemaFilesスキーマを生成して保存するユーザーの好みのタイミングを示します。
MaximumBillingTierMaximumBillingTier はTB あたりの基本料金の乗数となる正の整数です。例えばMaximumBillingTier を2 に設定すると、そのクエリの最大費用はTB あたり2x 基本価格になります。
MaximumBytesBilledBigQuery がジョブがキャンセルされる前に消費を許容するバイト数を制限します。
MaxRowsクエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。
Otherこれらの隠しプロパティは特定のユースケースでのみ使用されます。
PseudoColumnsこのプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。
QueryPassthroughこのオプションは、クエリをGoogle BigQuery サーバーにas-is で渡します。
TableSamplePercentThis determines what percent of a table is sampled with the TABLESAMPLE operator.
Timeoutタイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。
UserDefinedViewsカスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。
Google BigQuery Connector for CData Sync

StorageTimeout

How long a Storage API connection must remain idle before the provider reconnects.

解説

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 Sync App may stream data faster than it can be consumed. While the consumer is catching up, the Sync App does not use its connection and it may be closed by the next time the Sync App uses it.

To avoid this the Sync App 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 Sync App to reset it. To disable these resets this property can also set to 0 or a negative value.

Google BigQuery Connector for CData Sync

AllowAggregateParameters

QueryPassthrough が有効になっているときに、パラメータで生の集計を使用できるようにします。

解説

このオプションは、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')])

Google BigQuery Connector for CData Sync

ApplicationName

An application name in the form application/version. For example, AcmeReporting/1.0.

解説

The Sync App 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 Sync App. The last portion reports the specific application using the Sync App.

Google BigQuery Connector for CData Sync

AuditLimit

監査テーブル内に保存される行の最大数。

解説

AuditMode オプションで監査が有効になっている場合、このプロパティを使用して、 監査テーブルで一度に許可される行数を決定します。

デフォルトではこのプロパティは1000です。これは、監査テーブルで使用できるのは 直近の1000監査イベントのみであることを意味します。

このプロパティは-1 に設定することも可能です。これにより、監査テーブルのサイズに 制限がなくなります。このモードでは、Sync App が過剰なメモリを使用しないように、 Sync App監査テーブルを定期的にクリアする必要があります。

DELETE FROM AuditJobs#TEMP

Google BigQuery Connector for CData Sync

AuditMode

監査テーブルに記録するprovider アクション。

解説

Sync App は、クエリを実行する際の特定の内部アクションを記録できます。 このオプションにリストされているアクションのそれぞれについて、Sync App はテンポラリ監査テーブルを作成して、アクションが発生したタイミング、アクションを引き起こしたクエリ、その他の関連情報を記録します。

デフォルトではこのオプションは'none' に設定されており、Sync App は監査情報を記録しません。 このオプションは、以下のアクションのカンマ区切りリストに設定することもできます。

モード名 監査テーブル 説明 カラム
start-jobs AuditJobs#TEMP Sync App によって開始されたすべてのジョブを記録します Timestamp,Query,ProjectId,Location,JobId

これらのテーブルのサイズを制限する方法の詳細については、AuditLimit を参照してください。

Google BigQuery Connector for CData Sync

BigQueryOptions

BigQuery オプションのカンマ区切りのリスト。

解説

Google BigQuery オプションのリスト:

オプション説明
gbqoImplicitJoinAsUnionこのオプションは、ドライバーがSQL92 で予期されるようにIMPLICIT JOIN をCROSS JOIN に変換することを防止します。そのかわりに、そのままIMPLICIT JOIN として残され、Google BigQuery はUNION ALL として実行します。

Google BigQuery Connector for CData Sync

GenerateSchemaFiles

スキーマを生成して保存するユーザーの好みのタイミングを示します。

解説

このプロパティは、Location で指定されたパスの.rsd ファイルにスキーマをアウトプットします。

有効な設定は次のとおりです。

  • Never:スキーマファイルは生成されません。
  • OnUse:スキーマファイルがまだ存在していない場合に、初めてテーブルが参照されるときにスキーマファイルが生成されます。
  • OnStart:現在スキーマファイルを持たないあらゆるテーブルに対して、接続時にスキーマファイルが生成されます。
  • OnCreate:CREATE TABLE SQL クエリを実行すると、スキーマファイルが生成されます。
ファイルを再生成したい場合には、既存のファイルを削除する必要があることに注意してください。

SQL でスキーマを生成する

GenerateSchemaFiles をOnUse に設定すると、Sync App はSELECT クエリを実行したときにスキーマを生成します。スキーマはクエリのそれぞれの参照されたテーブルに対して生成されます。

GenerateSchemaFiles をOnCreate に設定すると、CREATE TABLE クエリが実行されたときにのみスキーマが生成されます。

接続時にスキーマを生成する

このプロパティのもう一つの使い方は、接続するときにデータベース内のすべてのテーブルのスキーマを取得することです。これには、GenerateSchemaFiles をOnStart に設定して接続します。

Google BigQuery Connector for CData Sync

MaximumBillingTier

MaximumBillingTier はTB あたりの基本料金の乗数となる正の整数です。例えばMaximumBillingTier を2 に設定すると、そのクエリの最大費用はTB あたり2x 基本価格になります。

解説

このジョブの課金階層を制限します。この階層を超えるリソース使用量を持つクエリは失敗します(料金は発生しません)。指定がない場合は、プロジェクトのデフォルトに設定されます。 BigQuery が標準のTB 課金階層で完了できないクエリを実行した場合、BigQuery はbillingTierLimitExceeded エラー、およびクエリの費用がどのくらいになるかの見積もりを返します。 より高い課金階層でクエリを実行するには、クエリリクエストの一部としてmaximumBillingTier の新しい値を渡します。MaximumBillingTier はTB あたりの基本料金の乗数となる正の整数です。例えばMaximumBillingTier を2 に設定すると、そのクエリの最大費用はTB あたり2x 基本価格になります。

Google BigQuery Connector for CData Sync

MaximumBytesBilled

BigQuery がジョブがキャンセルされる前に消費を許容するバイト数を制限します。

解説

この値を設定すると、すべてのジョブはこの値をデフォルトの請求上限として使用します。ジョブがこれ以上のバイトを使用している場合、BigQuery はそれをキャンセルし課金されません。 デフォルトでは上限はなく、すべてのジョブは消費したバイト数に応じて課金されます。

これは、DestinationTable を使用する場合、またはInsertJob ストアドプロシージャを使用する場合にのみ効果があります。BigQuery では標準のクエリジョブにバイト制限を設定できません。

Google BigQuery Connector for CData Sync

MaxRows

クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。

解説

クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。

Google BigQuery Connector for CData Sync

Other

これらの隠しプロパティは特定のユースケースでのみ使用されます。

解説

以下にリストされているプロパティは、特定のユースケースで使用可能です。通常のドライバーのユースケースおよび機能では、これらのプロパティは必要ありません。

複数のプロパティをセミコロン区切りリストで指定します。

統合およびフォーマット

DefaultColumnSizeデータソースがメタデータにカラムの長さを提供しない場合に、文字列フィールドのデフォルトの長さを設定します。デフォルト値は2000です。
ConvertDateTimeToGMT日時の値を、マシンのローカルタイムではなくGMT グリニッジ標準時に変換するかどうかを決定します。
RecordToFile=filename基底のソケットデータ転送を指定のファイルに記録します。

Google BigQuery Connector for CData Sync

PseudoColumns

このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。

解説

Entity Framework ではテーブルカラムでない疑似カラムに値を設定できないため、この設定はEntity Framework で特に便利です。この接続設定の値は、"Table1=Column1, Table1=Column2, Table2=Column3" の形式です。"*=*" のように"*" 文字を使用して、すべてのテーブルとすべてのカラムを含めることができます。

Google BigQuery Connector for CData Sync

QueryPassthrough

このオプションは、クエリをGoogle BigQuery サーバーにas-is で渡します。

解説

これが設定されていると、クエリはGoogle BigQuery に直接渡されます。

Google BigQuery Connector for CData Sync

TableSamplePercent

This determines what percent of a table is sampled with the TABLESAMPLE operator.

解説

This option can be set to make the Sync App 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:

  • It is applied during query converison and has no effect when QueryPassthrough is set.
  • More rows may be returned than expected due to how the server implements TABLESAMPLE. Please see the Google BigQuery documentation for more information.
  • TABLESAMPLE is not supported on views. If a view is queried in sampling mode, the Sync App will omit the TABLESAMPLE clause for the view.

Google BigQuery Connector for CData Sync

Timeout

タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。

解説

Timeout が0に設定されている場合は、操作がタイムアウトしません。処理が正常に完了するか、エラー状態になるまで実行されます。

Timeout の有効期限が切れても処理が完了していない場合は、Sync App は例外をスローします。

Google BigQuery Connector for CData Sync

UserDefinedViews

カスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。

解説

ユーザー定義ビューは、UserDefinedViews.json というJSON 形式のコンフィギュレーションファイルで定義されています。Sync App は、このファイルで指定されたビューを自動的に検出します。

また、複数のビュー定義を持ち、UserDefinedViews 接続プロパティを使用して制御することも可能です。このプロパティを使用すると、指定されたビューのみがSync App によって検知されます。

このユーザー定義ビューのコンフィギュレーションファイルは、次のようにフォーマットされています。

  • 各ルートエレメントはビューの名前を定義します。
  • 各ルートエレメントには、query と呼ばれる子エレメントが含まれており、この子エレメントにはビューのカスタムSQL クエリが含まれています。

次に例を示します。

{
	"MyView": {
		"query": "SELECT * FROM [publicdata].[samples].github_nested WHERE MyColumn = 'value'"
	},
	"MyView2": {
		"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
	}
}
UserDefinedViews 接続プロパティを使用して、JSON コンフィギュレーションファイルの場所を指定します。次に例を示します。
"UserDefinedViews", "C:\\Users\\yourusername\\Desktop\\tmp\\UserDefinedViews.json"

Google BigQuery Connector for CData Sync

Third Party Copyrights

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.

Copyright (c) 2023 CData Software, Inc. - All rights reserved.
Build 22.0.8479