メイン コンテンツをスキップする 補完的コンテンツへスキップ

Google Cloud BigQueryデータベース(JDBC経由) - インポート

Availability-note AWS

ブリッジの要件

このブリッジ:
  • ドライバーを<TDC_HOME>/data/download/MIMB/にダウンロードするためには、https://repo.maven.apache.org/maven2/ やその他のツールサイトへのインターネットアクセスが必要です。

ブリッジの仕様

ベンダー Google
ツール名 Cloud BigQueryデータベース
ツールバージョン 2.0.0
ツールのWebサイト http://developers.google.com/bigquery/
サポートされている方法論 [リレーショナルデータベース] マルチモデル、データストア(物理データモデル) Java API経由の
データプロファイリング
増分収集
マルチモデル収集
モデル選択のためのリモートリポジトリーの参照

仕様
ツール: Java API経由のGoogle / Cloud BigQueryデータベースバージョン2.0.0
http://developers.google.com/bigquery/をご覧ください。
メタデータ: [リレーショナルデータベース] マルチモデル、データストア(物理データモデル)
コンポーネント: GoogleBigQueryバージョン11.2.0

免責事項
このインポートブリッジでは、インターネットに接続して次のサードパーティライブラリーをダウンロードする必要があります。
- オープンソースのサードパーティライブラリーのダウンロードはhttps://repo.maven.apache.org/maven2/などへ
- その他のサードパーティソフトウェア(データベース特定のJDBCドライバーなど)は該当するサイトへ

ダウンロードされたサードパーティライブラリーは、$HOME/data/download/MIMB/に格納されています。
HTTPSが失敗した場合、インポートブリッジはHTTPを試します。
- インターネットへのアクセスにプロキシを使用している場合は、JREでそのプロキシを設定する必要があります(Miscellaneousパラメーターで -j オプションをご覧ください。)。
- インポートブリッジではインターネットにフルにアクセスできない場合は、インターネットアクセスがある別のサーバーから$HOME/data/download/MIMB/ディレクトリーをコピーします。$HOME/bin/MIMB.sh (または.bat) -dというコマンドを使えば、すべてのブリッジで使用される全サードパーティライブラリーを一度にダウンロードできます。

このインポートブリッジを実行すると、ライセンス規約の責任、およびダウンロードしたサードパーティソフトウェアライブラリーによって生じる潜在的なセキュリティの脆弱性を受け入れることになります。

概要
このインポートブリッジはGoogleのBigQueryHiveサーバーへの接続を確立し、物理メタデータを抽出します。

要件
このインポートブリッジは、JARファイルを使ってGoogleサーバーに接続します。これらのJARファイルは通常、https://cloud.google.com/bigquery/providers/simba-driversで入手できます。
インポートブリッジは、必要なドライバーをinto _Install/data/download/MIMBフォルダー内に自動的にダウンロードします。

このインポートブリッジは、ネイティブJava APIを使い、Simba JDBCドライバーをロードすることによってメタデータを解析します。
オプションで、このインポートブリッジはデータドリブンのメタデータディスカバリー/データプロファイリングもサポートするため、GoogleからダウンロードしたBigQuery JDBCドライバーを使用します。例:
data/download/MIMB/com.simba.googlebigquery/jdbc42/SimbaJDBCDriverforGoogleBigQuery42_1.3.0.1001

下の「権限」セクションをご覧ください。

認証
該当なし

権限
どのインポートブリッジも読み取り専用でメタデータのみ抽出することが保証されています。したがって、このインポートブリッジのユーザーは、データの読み書きを必要とするクラシックユーザーよりもはるかに必要な権限が少ないです。

Google BigQueryデータベースの場合:
このインポートブリッジは、Google BigQueryデータベースシステムのテーブル(INFORMATION_SCHEMAなど)を読み取ってメタデータを抽出します。これらのシステムテーブルやその他のテーブルから読み取る必要がある時は、(インポートブリッジではなく)JDBCドライバーがBigQueryジョブを作成します。したがってこのインポートブリッジでは、プロジェクトにBigQueryメタデータビューアーロールとBigQueryジョブユーザーロールの両方が必要です。詳細は、以下のリンクで提供されているドキュメンテーションをご覧ください。:
https://cloud.google.com/bigquery/docs/jobs-概要

このインポートブリッジは、Oauth 2.0プロトコルを使ってGoogleのBigQueryサービスにアクセスします。現在のところ、「サービスアカウントキー」を使った認証をサポートしています。
認証方式は、JSONまたはP12キーファイルのいずれかをサポートしています。インポートブリッジへのファイルはプライベートキーファイルパラメーターを使って指定できます。P12ファイルはレガシー形式であり、オプションのサービスクライアントIDパラメーターでサービスアカウントIDを指定する必要があります。
新しいサービスアカウントを作成する場合は、次のリンクのドキュメンテーションをご覧ください。これにより、クライアントIDとブリッジの実行に必要なキーファイルが提供されます。
https://developers.google.com/bigquery/docs/authorization#service-accounts-server

よくある質問
該当なし

制限事項
現在判明している一般的な制限事項は、https://metaintegration.com/Products/MIMB/Help/#!Documents/mimbknownlimitations.htmlをご覧ください。

サポート
トラブルシューティングパッケージを次の項目と共に提供してください。
- デバッグログ(UIまたはconf/conf.propertiesでMIR_LOG_LEVEL=6を使って設定可能)
- 利用できる場合はメタデータバックアップ(技術的理由によりこの共通オプションが実装されていないブリッジがあるものの、[その他]パラメーターで-backupオプションを使って設定可能)


ブリッジパラメーター

パラメーター名 説明 タイプ デフォルト 範囲
ドライバーの位置 JDBCドライバーファイルが配置されているファイルディレクトリー値が空(デフォルト)である場合、ブリッジはGoogleサイトからドライバーファイルをダウンロードしようとします。

デフォルトのドライバークラス名は、com.simba.googlebigquery.jdbc42.DataSourceです。

指定されたドライバーのクラス名が異なる場合は、Miscellaneousブリッジパラメーターの-driver.classNameオプションを使ってその名前を指定します。
DIRECTORY      
サービスクライアントID インポートブリッジ用に作成されたサービスアカウントのクライアントID (
xyz@developer.gserviceaccount.comなど)。
このアカウントID情報は、P12 キーファイルを使用する時に必要です。
STRING      
プライベートキーファイル インポートブリッジ用に作成されたサービスアカウントのプライベートキーファイル。
このファイルは、JSONまたはP12形式(ファイル拡張子がJSONまたはP12)であることが必要です。
P12はレガシーPKCS #12形式(Public Key Cryptography Standard #12)であり、オプションのサービスクライアントIDパラメーターでサービスアカウントIDを指定する必要があります。
Application Default Credentials (ADC)認証戦略を使用する場合は、このパラメーター値を空のままにしておきます。
ファイル *.*    
Projects プロジェクトIDのコンマ/セミコロン区切りリストとして表現されたインポートする完全修飾プロジェクトID。例:
mydomain.com:myProject1, mydomain.com:myProject2
リストのうち、最初のプロジェクトだけが他のすべてのプロジェクトの認証に使用されます。
そのため、最初のプロジェクトを介して提供された認証情報がリストされている他のプロジェクトへのアクセス権を持っていない場合、リストにある一部のプロジェクトがインポートされないことがあります。
STRING     必須
場所 目的のデータセットが配置されているリージョン名のリスト(https://cloud.google.com/bigquery/docs/locationsを参照)。たとえば、asia-northeast1、US、EUなどです。
データセットは特定のリージョンにあります。データセットを作成する時は、そのリージョンロケーションを指定することも、デフォルトを使用することもできます。
このパラメーターを使えば、場所に応じてデータセットをフィルタリングできます。
このパラメーター値はデフォルトでは空になっており、米国マルチリージョンにあるデータセットをインポートするようブリッジに指示します。
このオプションはMultiModelモードでのみ動作します。
STRING      
データセット インポートするデータセットのサブセット。セミコロンで区切られたデータセット名のリストとして表現されたものです。例:
dataset1; dataset2

リストが空の場合は、データセットがすべてインポートされます。

SQLのLIKE式構文を使用するデータベース名パターン:

- 包含構文:
%または*を使用。例:
A%; %B; %C%; D
- Aで開始、または
- Bで終了、または
- Cを含む、または
- Dに等しい

- 除外構文:
NOTを使用。例:
A%; %B; NOT %SYS; NOT 'SYS%'
- where (A%のような名前または%Bのような名前)
- and (%SYSとは異なる名前)
- and ('SYS%'とは異なる名前)

- 特殊文字:
^ $ * + ? | \ ( ) [ ] { } 空白
この名前を角括弧で囲み、特殊文字をエスケープします。例:
OneWord%; [Two\sWords.*]; [Dollar\$]
REPOSITORY_SUBSET      
ストアドプロシージャーの詳細 ストアドプロシージャーからインポートされる詳細の量を制御します。

[シグナチャー]
ストアドプロシージャーの名前とパラメーター

[コード、シグナチャー]
上記のプラスコード

[来歴、コード、シグナチャー]
コードから派生した上記のプラスデータ来歴

[なし]
ストアドプロシージャーの詳細は含まれていません。
ENUMERATED
[None] (なし)
署名
コード、署名
来歴、コード、署名
署名  
Miscellaneous はじめに
ダッシュで始まるMiscellaneousオプションを指定し、必要であればその後にパラメーターを追加できます。例:
- connection.cast MyDatabase1="MICROSOFT SQL SERVER"
該当する場合は複数回使用できるオプションもあります。例:
- connection.rename NewConnection1=OldConnection1 -connection.rename NewConnection2=OldConnection2;
オプションのリストは長い文字列になるため、${MODEL_BRIDGE_HOME}\data\MIMB\parametersにあり拡張子が.txtであるファイルからロードすることもできます。その場合、オプションはすべて、このパラメーターの唯一の値としてそのファイル内で定義されることが必要です。例:
ETL/Miscellaneous.txt

JAVA環境のオプション
-java.memory <Javaメモリの最大サイズ> (以前の-m)

64ビットJREではデフォルトで1G、またはconf/conf.properties内の設定に従います。例:
-java.memory 8G
-java.memory 8000M

-java.parameters <Javaランタイム環境コマンドラインオプション> (以前の-j)


-java.parameters -Dname=value -Xms1G
のように、-java.parametersの後ろのテキストはすべてそのままJREに渡されるため、このオプションはMiscellaneousパラメーター内の最後に来る必要があります。インターネットへのアクセスにプロキシを使用している場合は、必要なサードパーティのソフトウェアライブラリーをダウンロードできるよう、次のオプションを設定する必要があります(このオプションはhttps://repo.maven.apache.org/maven2/にアクセスするため、そして例外的にいくつかの他のツールサイトにアクセスするために不可欠です)。
注: プロキシは、(会社の)外部トラフィックをHTTPSで暗号化しながら、HTTPでプロキシにアクセスできる内部トラフィックを信頼しているものがほとんどです。この場合、HTTPSリクエストはHTTPでプロキシに到達し、プロキシはそれをHTTPSで暗号化します。
-java.parameters -java.parameters -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3128 -Dhttp.proxyUser=user -Dhttp.proxyPassword=pass

モデルインポートのオプション
-model.name <モデル名>

モデル名をオーバーライドをオーバーライドします。例:
-model.name "My Model Name"

-prescript <スクリプト名>

このオプションによって、ブリッジの実行前にスクリプトを実行できるようになります。
スクリプトはbinディレクトリー(またはconf/conf.propertiesのM_SCRIPT_PATHで指定)にあり、拡張子が.batか.shであることが必要です。
スクリプトのパスに親ディレクトリーの記号( .. )を含めることはできません。
スクリプトは、成功した場合は終了コードである0を、失敗した場合は別の値を返します。
例:
-prescript "script.bat arg1 arg2"

-postscript <スクリプト名>

このオプションによって、ブリッジが正しく実行された後にスクリプトを実行できるようになります。
スクリプトはbinディレクトリー(またはconf/conf.propertiesのM_SCRIPT_PATHで指定)にあり、拡張子が.batか.shであることが必要です。
スクリプトのパスに親ディレクトリーの記号( .. )を含めることはできません。
スクリプトは、成功した場合は終了コードである0を、失敗した場合は別の値を返します。
例:
-postscript "script.bat arg1 arg2"

-cache.clear

インポート前にキャッシュをクリアするため、増分収集せずにフルインポートを実行します。

モデルが変更されず、-cache.clearパラメーターが使われていない場合(増分収集)、新しいバージョンは作成されません。
モデルが変更されず、-cache.clearパラメーターが設定されている場合(増分ではなくフルソースインポート)、新しいバージョンが作成されます。

-backup <directory>

さらなるトラブルシューティングのため、入力メタデータを保存できるようにします。指定された<directory>は空であることが必要です。

-restore <ディレクトリー>

復元するバックアップ<ディレクトリー>を指定します。

データ接続オプション
使用するソースとターゲットのデータストアを参照するよう、通常はETL/DIツールとBIツールのインポートブリッジによってデータ接続が生成されます。これらのデータ接続はメタデータ管理ツールによって実際のデータストア(データベースやファイルシステムなど)への接続(メタデータスティッチング)に使われ、完全なエンドツーエンドのデータフローの来歴とインパクト分析が行われます。各データ接続の名前はインポートモデルごとに一意です。DI/BIデザインツールで使われているデータ接続名を可能な限り使用します。そうでない場合は、データベース/スキーマ名、ファイルシステムのパス、Uniform Resource Identifier (URI)など、短くても意味のある接続名が生成されます。次のオプションを使えば、接続を操作できます。これらのオプションによって、レガシーオプションである-c、-cd、-csが置き換えられます。

-connection.cast ConnectionName=ConnectionType

SQL解析のためにジェネリックデータベース接続(ODBCやJDBCなど)を正確なデータベースタイプ(ORACLEなど)にキャストします。例:
-connection.cast "My Database"="MICROSOFT SQL SERVER"
サポートされているデータストア接続タイプのリストは次のとおりです。
ACCESS
APACHE CASSANDRA
DB2/UDB
DENODO
GOOGLE BIGQUERY
HIVE
MYSQL
NETEZZA
ORACLE
POSTGRESQL
PRESTO
REDSHIFT
SALESFORCE
SAP HANA
SNOWFLAKE
MICROSOFT SQL AZURE
MICROSOFT SQL SERVER
SYBASE SQL SERVER
SYBASE AS ENTERPRISE
TERADATA
VECTORWISE
HP VERTICA

-connection.rename OldConnection=NewConnection

既存の接続を新しい名前に変更します。例:
-connection.rename OldConnectionName=NewConnectionName
既存の複数のデータベース接続の名前を変更し、新しい1つのデータベース接続に統合できます。例:
-connection.rename MySchema1=MyDatabase -connection.rename MySchema2=MyDatabase

-connection.split oldConnection.Schema1=newConnection

データベース接続を1つまたは複数のデータベース接続に分割します。
1つのデータベース接続をスキーマごとの1つの接続に分割できます。例:
-connection.split MyDatabase
すべてのデータベース接続をスキーマごとの1つの接続に分割できます。例:
-connection.split *
データベースにスキーマ名を追加することで、データベース接続を明示的に分割し、新しいデータベース接続を作成できます。例:
-connection.split MyDatabase.schema1=MySchema1

-connection.map SourcePath=DestinationPath

ソースパスをデスティネーションパスにマッピングします。これは、異なるパスが同じオブジェクト(ディレクトリーまたはファイル)をポイントしている場合にファイルシステム接続にとって便利です。
Hadoopでは、あるプロセスがHDFSの完全パスで指定されたCSVファイルに書き込む一方、別のプロセスが、デフォルトのファイル名と拡張子を持つ相対パスで指定されている同じファイルによって実装されたHiveテーブル(外部)から読み取ります。例:
-connection.map /user1/folder=hdfs://host:8020/users/user1/folder/file.csv
Linuxでは、/users/johnや/users/paulといった複数のシンボリックリンクによって、/dataのような特定のディレクトリー(またはファイル)が参照されます。例:
-connection.map /data=/users/John -connection.map /data=/users/paul
Windowsでは、M:やN:といった複数のネットワークドライブによって、C:\dataのような特定のディレクトリーが参照されます。例:
-connection.map C:\data=M:\ -connection.map C:\data=N:\

-connection.casesensitive ConnectionName...

検出されたデータストアのタイプがこの設定(Microsoft SQL ServerやMySqlなど)をサポートしている場合は、指定された接続内のオブジェクト識別子に対し、大文字と小文字を区別しないデフォルトのマッチングルールがオーバーライドされます。例:
-connection.casesensitive "My Database"

-connection.caseinsensitive ConnectionName...

検出されたデータストアのタイプがこの設定(Microsoft SQL ServerやMySqlなど)をサポートしている場合は、指定された接続内のオブジェクト識別子に対し、大文字と小文字を区別するデフォルトのマッチングルールがオーバーライドされます。例:
-connection.caseinsensitive "My Database"

-connection.level AggregationLevel

外部接続の集計レベルを指定します。例: -connection.level catalog
サポートされている値のリスト:
server
catalog
schema (デフォルト)

GOOGLE BIGQUERYのオプション
-s

デフォルトでスキップされるシステムオブジェクトをインポートします。

-model.split (以前の-multiModel)

大型サーバーモデルをマルチモデル(つまり1つのモデルに1つのデータベース)に分割します。
警告: これはこのインポートブリッジを呼び出すアプリケーションによって管理されるシステムオプションであり、ユーザーが設定するものではありません。

-driver.className

JDBCドライバーのインターフェイスを実装するJavaクラスのフルネーム(パッケージ名を含む)。

-driver.options "<option declaration>"

JDBCドライバー接続のオプション。JDCBCドライバー接続オプション。選択されたオプションはすべてJDBCドライバー接続文字列に追加されます。
例:
-driver.options "Timeout=100"
-driver.options "AllowLargeResults=1;Timeout=300;LogLevel=1"

-driver.url

完全修飾JDBC接続文字列。他のブリッジ接続オプションをオーバーライドします。

STRING      

 

ブリッジのマッピング

Meta Integration Repository (MIR)
メタモデル
(OMG CWM標準に基づく)
"Google Cloud BigQuery Database (JDBC経由)"
メタモデル
Google BigQuery (プロジェクト)
マッピングのコメント
     
属性 カラム  
説明 説明  
ExtraConstraint 制約  
InitialValue 初期値  
名前 名前  
NativeId ネイティブID  
オプション Null可能  
PhysicalName 物理名  
位置 位置  
クラス テーブル、レコード  
説明 説明  
名前 名前  
NativeId ネイティブID  
PhysicalName 物理名  
ClassDiagram  
説明 説明  
名前 名前  
DatabaseSchema [Dataset] (データセット)  
説明 説明  
名前 名前  
NativeId ネイティブID  
PhysicalName 物理名  
DesignPackage サブジェクトエリア  
説明 説明  
名前 名前  
結合 論理リレーションシップ  
説明 説明  
名前 名前  
SQLViewAttribute ViewColumn  
説明 説明  
InitialValue 初期値  
名前 名前  
NativeId ネイティブID  
オプション Null可能  
PhysicalName 物理名  
位置 位置  
SQLViewEntity 表示  
説明 説明  
名前 名前  
NativeId ネイティブID  
PhysicalName 物理名  
ViewStatement ステートメントを表示  
StoreModel プロジェクト  
作成者 作成者  
CreationTime 作成日時  
説明 説明  
ModificationTime 変更日時  
変更者 変更者  
名前 名前  
NativeId ネイティブID  
PhysicalName 物理名  
StoreType 保管タイプ  
SystemMajorバージョン システムのメジャーバージョン  
SystemMinorバージョン システムのマイナーバージョン  
SystemReleaseバージョン システムのリリースバージョン  
SystemType システムタイプ  
SystemTypeOld システムタイプ(旧)  

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。