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

Talend Data Fabric Studio ユーザーガイド

Version
7.3
Language
日本語 (日本)
EnrichDitaval
Data Fabric
Product
Talend Data Fabric
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のインジケーター定義を追加します。