一部のデータベースについて必要な知識 - 7.3

Talend Big Data Platform Studio ユーザーガイド

Version
7.3
Language
日本語 (日本)
Product
Talend Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発

Google BigQuery

Google BigQueryからのデータをプロファイリングするには、JDBC接続の設定を行う必要があります。

詳細は、接続URLをビルドする方法を参照してください。

RECORDデータ型はサポートされていません。

JDBC接続を設定する時は、zipファイルから抽出した各jarファイルを指定します。

Hive

Hiveサーバーが正しく動作するには十分なメモリが必要です。Hiveデータベースへ接続する前に:
  1. Hiveサーバーの設定に移動します。
  2. HiveServer2 Java Heap Sizeパラメーターを1GB以上に設定します。
Hiveデータベースへの接続を選択した場合、他のデータベースタイプのようにさまざまな分析を作成して実行できます。

接続ウィザードで、[Distribution] (ディストリビューション)からHiveをホストするプラットフォームを選択する必要があります。また、Hiveのバージョンとモデルも設定する必要があります。

詳細は、http://hadoop.apache.org/を参照してください。

Hive接続の組み込みモードでユーザー名を変更する場合、接続を使用するプロファイリング分析を正しく実行するために、Studioを再起動する必要があります。

使用するHadoopディストリビューションがHortonworks Data Platform V1.2またはHortonworks Data Platform V1.3の場合、マッピングのために適切なメモリの割り当てを行い、Hadoopシステムで実行される計算を減少させる必要があります。接続ウィザードの2番目の手順で、次の操作を実行します。
  1. [Hadoop Properties] (Hadoopプロパティ)の横のボタンをクリックし、開いたダイアログボックスで[+]ボタンをクリックし、テーブルに2つの行を追加します。
  2. パラメーター名にmapred.job.map.memory.mbおよびmapred.job.reduce.memory.mbを入力します。
  3. それらの値をデフォルト値の「1000」に設定します。

    通常、この値は計算を実行するために適切です。

Hiveでは1つの分析タイプ、いくつかのインジケーターと機能がサポートされていないことにご注意ください。詳細は、次の表を参照してください。
サポート対象外のインジケーター サポート対象外の機能 サポート対象外の分析
SQLエンジンを使った場合:

Soundex低頻度

パターン(低)頻度

上位クオータイルおよび下位クオータイル

中央

すべての日付頻度インジケーター

  • 一意のインジケーター、複製のインジケーター、すべてのテキストインジケーターを使ったカラム分析のための[View rows] (行を表示)コンテキストメニュー
  • 一意のインジケーター、複製のインジケーター、すべてのテキストインジケーターを使ったカラム分析のための[View match rows] (一致する行を表示)コンテキストメニュー
  • 関数従属性分析の分析結果に関するすべてのコンテキストメニュー

Hiveに対応していない唯一の分析は、[Time Correlation Analysis] (時間コリレーション分析)です。これはHiveにはDateデータ型がないためです。この分析タイプの詳細は、時間コリレーション分析を参照してください。

またHiveの場合、分析結果での右クリックオプション(ジョブを生成してデータを検証、標準化、重複除去)は一切サポートされていません。これらのジョブの詳細は、データの検証を参照してください。

HiveおよびHBase

さまざまな分析を作成して実行できるようHiveまたはHBaseへの接続を選択した場合、前述のように、[Distribution] (ディストリビューション)からHiveまたはHBaseをホストするプラットフォームを接続ウィザードで選択する必要があります。

使用するHadoopディストリビューションがHortonworks Data Platform V2.0 (YARN)の場合、次のパラメーターを[Hadoop Properties] (Hadoopプロパティ)テーブルで設定する必要があります。
  • パラメーター: yarn.application.classpath
  • 値は次のとおりです。 /etc/hadoop/conf,/usr/lib/hadoop/,/usr/lib/hadoop/lib/,/usr/lib/hadoop-hdfs/,/usr/lib/hadoop-hdfs/lib/,/usr/lib/hadoop-yarn/,/usr/lib/hadoop-yarn/lib/,/usr/lib/hadoop-mapreduce/,/usr/lib/hadoop-mapreduce/lib/

Microsoft SQL Server

Microsoft SQL Server 2012以降がサポートされています。

Windows認証モードでMicrosoft SQL Serverデータベースに接続する場合は、[Db Version] (Dbバージョン)リストから[Microsoft]または[JTDS open source] (JTDSオープンソース)を選択します。

Microsoft SQL Serverデータベースを使ってレポート結果を保存する場合、サポート対象となるドライバーはMicrosoft JDBCとJTDSオープンソースです。

レポートと分析結果を保存するためにAzure SQLデータベースへの接続を作成するには、データベース接続設定の[Additional parameters] (追加パラメーター)フィールドにssl=requireと入力します。

jTDSドライバーを使用してMicrosoft SQL Serverデータベースへの接続を作成する前に:
  • jTDSドライバーバージョン1.3.1をhttp://jtds.sourceforge.net/からダウンロードします。
  • アーカイブからファイルを抽出し、オペレーティングシステムに応じてntlmauth.dllファイルをx64/SSOまたはx86/SSOの下からコピーします。
  • ntlmauth.dllファイルを%SYSTEMROOT%/system32に貼り付けます。

次のエラーが発生した場合: SSOが失敗しました: ネイティブSSPIライブラリーがロードされませんでした。Talend Studioによって使用されているJREのbinフォルダーにntlmauth.dllを貼り付けます。

Microsoft SQL Serverデータベースでは、大文字小文字を区別しない照合を使用してください。そうでないと、レポートの生成に失敗するおそれがあります。java.sql.SQLException: Invalid column name 'rep_runtime'のようなエラーが発生するおそれがあります。照合ルールについては、https://docs.microsoft.com/ja-jp/sql/t-sql/statements/windows-collation-name-transact-sql?view=sql-server-2017を参照してください。

ntextデータ型はサポートされていません。

MySQL

JDBCを使用してMySQLへの接続を作成する場合、データベース名をJDBC URLに含めることは必須ではありません。[JDBC URL]フィールドで指定したデータベース接続URLにデータベース名が含まれているかどうかに関係なく、データベースがすべて取得されます。

たとえば、jdbc:mysql://192.168.33.41:3306/tbi?noDatetimeStringSync=true (tbiはデータベース名)、またはjdbc:mysql://192.168.33.41:3306/?noDatetimeStringSync=trueを指定した場合、すべててのデータベースが取得されます。

データおよびメタデータ内の代理ペアをサポートするには、MySQLサーバー設定ファイルの以下のプロパティを編集する必要があります。

[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
character-set-server=utf8mb4

Netezza

Netezzaデータベースでは正規表現はサポートされません。このデータベースで正規表現を使用する場合は、次のいずれかを実行する必要があります。

  • NetezzaシステムにSQL Extensions Toolkitパッケージをインストールします。このツールキットに付属のregex_like関数をSQLテンプレートで使用します。方法は、http://pic.dhe.ibm.com/infocenter/ntz/v7r0m3/topic/com.ibm.nz.sqltk.doc/r_sqlext_regexp_like.htmlを参照してください。
  • Talend Studio[Libraries] (ライブラリー) > [Indicators] (インジケーター) > [System Indicators] (システムインジケーター)の下の[Pattern Matching] (パターンマッチング)フォルダーにNetezzaのインジケーター定義を追加します。

    Netezzaに対して定義する必要のあるクエリーテンプレートは、SELECT COUNT(CASE WHEN REGEXP_LIKE(<%=COLUMN_NAMES%>,<%=PATTERN_EXPR%>) THEN 1 END), COUNT FROM <%=TABLE_NAME%><%=WHERE_CLAUSE%>です。

Oracle

代理ペアをサポートするには、データベースのNLS_CHARACTERSETパラメーターをUTF8またはAL32UTF8に設定する必要があります。

デフォルトのNLS_CHARACTERSETパラメーターは次のとおりです。

  • NLS_CHARACTERSET=WE8ISO8859P15
  • NLS_NCHAR_CHARACTERSET=AL16UTF16
注: データベースパラメーターをチェックするには次のSQLクエリーを実行します: SQL> SELECT * FROM NLS_DATABASE_PARAMETERS;

PostgreSQL

JDBC接続経由でPostgreSQLデータベースに接続すると、INT4データ型とINT8データ型がStringデータ型に置換されます。その結果、分析でT-swooshアルゴリズムを使用している場合はサバイバーシップ関数が数字ではなく文字列に適用されます。

次のようにデータ型を変更します。
  1. 分析を閉じ、Integrationパースペクティブに切り替えます。
  2. [Metadata] (メタデータ)を展開し、データベース接続を右クリックして > [Retrieve Schema] (スキーマの取得) > [Next] (次へ)と進みます。
  3. 更新するテーブルのチェックボックスをオンにします。
  4. [Creation status] (作成ステータス)[Success] (成功)に設定して[Next] (次へ)をクリックします。
  5. データベース型がないカラムがInteger型でなければならない場合は、[DB Type] (データベース型)INTに設定します。
  6. [Finish] (完了)をクリックしてダイアログボックスを閉じます。
  7. Profilingパースペクティブに切り替えて分析を開きます。
  8. [Survivorship Rules for Columns] (カラムのサバイバーシップルール)で、更新したカラムを一旦削除して追加し直します。サバイバーシップ関数が数字用(最大数および最小数)になったことがわかります。

SAP Hana

SAP Hanaからのデータのプロファイリングは、テーブル、ビュー、計算ビューの各スキーマでのみ可能です。

Soundex頻度統計インジケーターは英語のアルファベットのみサポートしています。

Snowflake

Snowflakeからのデータをプロファイリングする場合はJDBC接続が必要です。

詳細は、https://docs.snowflake.net/manuals/user-guide/jdbc-configure.htmlを参照してください。

Integrationパースペクティブ内のSnowflakeノードの下に作成した接続は使用できません。

Teradata

Teradataデータベースへの接続を選択した場合、[USE SQL Mode] (SQLモードの使用)の横にある[Yes] (はい)オプションを選択し、Studioでのメタデータの取得にSQLクエリーを使用できるようにします。JDBCドライバーはパフォーマンス不良となる可能性があるため、このデータベースでは推奨されません。

Teradataデータベースでは、正規表現関数は、バージョン14からのみデフォルトでインストールされます。このデータベースの以前のバージョンで正規表現を使用する場合、Teradataにユーザー定義関数をインストールし、Talend StudioにTeradataのインジケーター定義を追加します。