tHiveRow標準プロパティ - 7.3

Hive

EnrichVersion
Cloud
7.3
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
EnrichPlatform
Talend Studio
task
ジョブデザインと開発 > サードパーティーシステム > DBコンポーネント > Hive
データガバナンス > サードパーティーシステム > DBコンポーネント > Hive
データクオリティとプレパレーション > サードパーティーシステム > DBコンポーネント > Hive

これらのプロパティは、Standardジョブフレームワークで実行されるtHiveRowを構成するために使用されます。

StandardtHiveRowコンポーネントは、ビッグデータおよびデータベースファミリーのコンポーネントです。

このフレームワーク内のコンポーネントは、すべてのTalend製品で使用できます。

基本設定

接続設定:
  • このコンポーネントをQubole on AWSと併用する場合:
    [API Token] (APIトークン)

    [API Token] (APIトークン)フィールドの横の[...]ボタンをクリックして、使用するQuboleユーザーアカウントに生成された認証トークンを入力します。このトークンの入手方法については、QuboleのドキュメンテーションでQuboleアカウントの管理を参照してください。

    このトークンで、Quboleへのアクセスに使用するユーザーアカウントを指定できます。ジョブは、Quboleでこのユーザーアカウントに付与された権限を自動的に使用します。

    [Cluster label] (クラスターラベル)

    [Cluster label] (クラスターラベル)チェックボックスをオンにして、使用するQuboleクラスターの名前を入力します。このチェックボックスをオフのままにしておくと、デフォルトのクラスターが使用されます。

    デフォルトのクラスターに関する詳細が必要な場合は、Quboleサービスの管理者にお問い合わせください。デフォルトQuboleクラスターの設定に関する情報については、この記事をQuboleのドキュメンテーションもご参照ください。

    [Change API endpoint] (APIエンドポイントの変更)

    [Change API endpoint] (APIエンドポイントの変更)チェックボックスをオンにして、使用するリージョンを選択します。このチェックボックスをオフのままにしておくと、デフォルトのリージョンが使用されます。

    QDS-on-AWSでサポートされているQuboleエンドポイントについては、さまざまなクラウドプロバイダーでサポートされているQuboleエンドポイントを参照してください。

  • このコンポーネントをGoogle Dataprocと併用する場合:

    [Project identifier] (プロジェクト識別子)

    Google Cloud PlatformプロジェクトのIDを入力します。

    プロジェクトIDがわからない場合は、Google Cloud Platformサービスの[Manage Resources]ページで確認してください。

    [Cluster identifier] (クラスター識別子)

    使用するDataprocクラスターのIDを入力します。

    [Region] (リージョン)

    使用するGoogle Cloudリージョンをこのドロップダウンリストで選択します。

    [Google Storage staging bucket] (Googleストレージステージングバケット)

    Talendジョブでは、依存jarファイルが実行されることを想定しているため、ジョブが実行時にこれらのjarファイルにアクセスできるように、これらのファイルの転送先にするGoogle Storageディレクトリーを指定します。

    入力するディレクトリーの末尾はスラッシュ(/)にする必要があります。ディレクトリーがない場合は即座に作成されますが、使用するバケットはあらかじめ作成しておく必要があります。

    データベース

    このフィールドにデータベースの名前を入力します。

    [Provide Google Credentials in file] (Googleクレデンシャルをファイルで指定)

    Google Cloud SDKがインストールされていて、Google Cloud Platformへのアクセスにユーザーアカウントの認証情報を使用することが許可されている特定のマシンからジョブを起動する場合は、このチェックボックスをオフにします。この状況では多くの場合、このマシンはお使いのローカルマシンです。

    ジョブサーバーなど、リモートマシンからジョブを起動する場合は、このチェックボックスを選択し、[Path to Google Credentials file] (Googleクレデンシャルファイルパス)フィールドが表示されたら、このJSONファイルを保存するジョブサーバーマシン内のディレクトリーを入力します。また、[....]ボタンをクリックし、ポップアップダイアログボックスでJSONファイルを参照することもできます。

    Googleクレデンシャルファイルの詳細については、Google Cloud Platformの管理者に問い合わせるか、Google Cloud Platform Auth Guideを参照してください。

  • このコンポーネントをHDInsightと併用する場合:

    WebHCatの設定

    使用するMicrosoft HD Insightクラスターのアドレスと認証情報を入力します。たとえば、アドレスはyour_hdinsight_cluster_name.azurehdinsight.netとなり、Azureアカウントの認証情報は次のようになります: ychen。Studioはこのサービスを使ってジョブをHD Insightクラスターに送信します。

    [Job result folder] (ジョブ結果保存フォルダー)フィールドに、使用するAzure Storageでのジョブの実行結果を保存するロケーションを入力します。

    ジョブステータスポーリングの設定

    [Poll interval when retrieving Job status (in ms)] (ジョブステータスを取得する時のポーリング間隔(ミリ秒))フィールドで、StudioがジョブのステータスをSparkに要求する時間間隔(ミリ秒)を入力します。たとえば、このステータスは[Pending] (保留中)または[Running] (実行中)になります。

    [Maximum number of consecutive statuses missing] (見つからないステータスの最大連続回数)フィールドには、ステータスの応答がない場合にスタジオがステータス取得のために再試行する最大回数を入力します。

    HDInsightの設定

    使用するMicrosoft HD Insightクラスターのアドレスと認証情報を入力します。たとえば、アドレスはyour_hdinsight_cluster_name.azurehdinsight.netとなり、Azureアカウントの認証情報は次のようになります: ychen。Studioはこのサービスを使ってジョブをHD Insightクラスターに送信します。

    [Job result folder] (ジョブ結果保存フォルダー)フィールドに、使用するAzure Storageでのジョブの実行結果を保存するロケーションを入力します。

    [Windows Azure Storage configuration] (Windows Azure Storageの設定)

    使用するAzure StorageアカウントかADLS Gen2アカウントのアドレスと認証情報を入力します。この設定では、ビジネスデータを読み書きする場所は定義せず、ジョブをデプロイする場所のみ定義します。

    [Container] (コンテナー)フィールドに、使用するコンテナーの名前を入力します。利用可能なコンテナーは、使用するAzure StorageアカウントのBlobブレードで確認できます。

    [Deployment Blob] (デプロイメントBlob)フィールドに、このAzure Storageアカウントで現在のジョブとその依存ライブラリーを保存する場所を入力します。

    [Hostname] (ホスト名)フィールドに、https://部分を含まないAzureストレージアカウントのプライマリーBlobサービスエンドポイントを入力します。このエンドポイントは、このストレージアカウントの[Properties] (プロパティ)ブレードにあります。

    [Username] (ユーザー名)フィールドに、使用するAzureストレージアカウントの名前を入力します。

    [Password] (パスワード)フィールドに、使用するAzureストレージアカウントのアクセスキーを入力します。このキーは、このストレージアカウントの[Access keys] (アクセスキー)ブレードにあります。

    データベース

    このフィールドにデータベースの名前を入力します。

  • その他のディストリビューションを使用する場合:

    [Connection mode] (接続モード)

    リストから接続モードを選択します。オプションは、使用しているディストリビューションによって異なります。

    [Hive server] (Hiveサーバー)

    このコンポーネントを使用しているジョブに Hive上のクエリーを実行させるために使用するHiveサーバーを選択します。

    この[Hive server] (Hiveサーバー)リストは、HortonWorks Data Platform V1.2.0 (Bimota)など、使用するHadoopディストリビューションがHiveServer2をサポートしている場合にのみ使用できます。これにより、HiveServer (Hive 1)よりも複数クライアントの同時接続に対するサポートに優れているサーバー、HiveServer2 (Hive 2)を選択できます。

    HiveServer2の詳細は、https://cwiki.apache.org/confluence/display/Hive/Setting+Up+HiveServer2を参照してください。

    [Host] (ホスト)

    データベースサーバーのIPアドレス。

    [Port] (ポート)

    DBサーバーのリスニングポート番号。

    [Database] (データベース)

    このフィールドにデータベースの名前を入力します。

    注:

    [Connection mode] (接続モード) リストで[Embedded] (埋め込み)を選択した場合、このフィールドは使用できません。

    [Username] (ユーザー名)[Password] (パスワード)

    DBユーザー認証データ。

    パスワードを入力するには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符の間に入力し、[OK] をクリックして設定を保存します。

    [Use Kerberos authentication] (Kerberos認証の使用)

    Kerberosセキュリティを実行しているHiveメタストアにアクセスする場合は、このチェックボックスを選択し、表示されたフィールドに、関連するパラメーターを入力します。
    • このクラスターが5.0.0バージョン以上のMapRクラスターである場合、セキュリティ対応MapRへの接続に記載の説明に従って、MapRチケット認証設定を追加または代替として設定できます。

      この設定により、ジョブで定義されたユーザー名用の新しいMapRセキュリティチケットが実行ごとに生成されます。同じユーザー名に対して発行された既存のチケットを再使用する必要がある場合は、[Force MapR ticket authentication] ()チェックボックスと[Use Kerberos authentication] ()チェックボックスをオフにすると、そのチケットを即座に自動的に見つけることができます。

    次のパラメーターの値は、使用するHiveシステムのhive-site.xmlファイル内にあります。
    1. [Hive principal] (Hiveプリンシパル)hive.metastore.kerberos.principalの値を使用します。これはHiveメタストアのサービスプリンシパルです。

    2. [HiveServer2 local user principal] (HiveServer2ローカルユーザープリンシパル)は、hive.server2.authentication.kerberos.principalの値を使用します。

    3. [HiveServer2 local user keytab] (HiveServer2ローカルユーザーkeytab)は、hive.server2.authentication.kerberos.keytabの値を使用します。

    4. [Metastore URL] (メタストアURL)は、javax.jdo.option.ConnectionURLの値を使用します。これは、HiveメタストアへのJDBC接続文字列です。

    5. [Driver class] (ドライバークラス)は、javax.jdo.option.ConnectionDriverNameの値を使用します。これは、JDBC接続のドライバーの名前です。

    6. [Username] (ユーザー名)は、javax.jdo.option.ConnectionUserNameの値を使用します。ユーザー名とパスワードのパラメーターは、Hiveメタストアへの接続用のユーザー認証情報になります。

    7. [Password] (パスワード)は、javax.jdo.option.ConnectionPasswordの値を使用します。

    表示されるその他のパラメーターは、それぞれのパラメーターが含まれているHadoop設定ファイルを参照してください。たとえば、[Namenode principal] (ネームノードプリンシパル)は、使用しているディストリビューションのhdfs-site.xmlファイルまたはhdfs-default.xmlファイルにあります。

    このチェックボックスは、接続しているHadoopのディストリビューションによっては、表示されないこともあります。

    [Use a keytab to authenticate] (Keytabを認証に使用)

    [Use a keytab to authenticate] (Keytabを認証に使用)チェックボックスを選択して、所定のkeytabファイルを使ってKerberos対応のシステムにログインします。keytabファイルには、Kerberosのプリンシパルと暗号化されたキーのペアが含まれています。使用するプリンシパルを[Principal] (プリンシパル)フィールドに入力し、keytabファイルへのアクセスパスを[Keytab] フィールドに入力します。このkeytabファイルは、ジョブが実際に実行されているマシン、たとえば、Talend Jobserverに保存する必要があります。

    keytabが有効なジョブは、プリンシパルに任命されたユーザーでなくても実行できますが、使用するkeytabファイルの読み取り権限が必要です。たとえば、user1というユーザー名でジョブを実行し、使用するプリンシパルがguestの場合、user1に使用するkeytabファイルの読み取り権限があることを確認してください。

    [Use SSL connection] (SSL接続の使用)

    SSLまたはTLS暗号化接続を有効にする場合は、このチェックボックスを選択します。

    次に、表示されたフィールドに認証情報を入力します。
    • [Trust store path] (信頼ストアのパス)フィールドにパスを入力するか、または使用するTrustStoreファイルに移動します。デフォルトでは、サポートされるTrustStore型は、JKSおよびPKCS 12です。

    • パスワードを入力するには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符の間に入力し、[OK] をクリックして設定を保存します。

    この機能は、以下のディストリビューションの[Standalone] (スタンドアロン)モードのHiveServer2でのみ利用できます。
    • Hortonworksデータプラットフォーム2.0 +

    • Cloudera CDH4 +

    • Pivotal HD 2.0 +

    • Amazon EMR 4.0.0 +

    [Set Resource Manager] (リソースマネージャーの設定)

    このチェックボックスをオンにして、表示されるフィールドにディストリビューションのResourceManagerのロケーションを入力します。たとえば、tal-qa114.talend.lan: 8050のようにします。

    その後、使用するHadoopクラスターの構成に応じて以下のパラメーターを引き続き設定できます (パラメーターのチェックボックスをオフのままにしておくと、実行時に、使用するHadoopクラスター内のこのパラメーターに関する設定は無視されます):
    1. [Set resourcemanager scheduler address] (リソースマネージャースケジューラーアドレスの設定)チェックボックスをオンにして、表示されたフィールドにスケジューラーアドレスを入力します。

    2. [Set jobhistory address] (ジョブ履歴アドレスの設定)チェックボックスを選択して、使用するHadoopクラスターのJobHistoryサーバーの場所を入力します。これにより、現在のジョブのメトリックス情報がそのJobHistoryサーバーに保存されます。

    3. [Set staging directory] (ステージングディレクトリーの設定)チェックボックスを選択して、実行プログラムで作成される一時ファイル用のHadoopクラスターで定義されたこのディレクトリーを入力します。一般的には、このディレクトリーはディストリビューションのyarn-site.xmlmapred-site.xmlなどの設定ファイル内にあるyarn.app.mapreduce.am.staging-dirプロパティの下にあります。

    4. [Advanced settings] (詳細設定)ビューの[Set memory] (メモリの設定)チェックボックスを選択して、適切なメモリ容量をYARNのMapReduceの計算およびApplicationMasterに割り当てます。

    5. [Set Hadoop user] (Hadoopユーザーの設定)チェックボックスをオンにして、ジョブを実行するユーザー名を入力します。Hadoop内のファイルまたはディレクトリーには読み取りまたは書き込みの適切な権限を持つ特定のオーナーがあるため、このフィールドを使用して、処理するファイルまたはディレクトリーにアクセスする適切な権限を持つユーザー名の下でジョブを直接実行できます。

    6. [Use datanode hostname] (データノードホスト名を使用)チェックボックスをオンにして、これらのホスト名によるデータノードへのアクセスをジョブに許可します。これは、実際にはdfs.client.use.datanode.hostnameプロパティをtrueに設定しています。S3Nファイルシステムに接続する場合、このチェックボックスを選択する必要があります。

    これらのパラメーターの詳細は、ドキュメンテーションを参照するか、または、使用するHadoopクラスターの管理者にお問い合わせください。

    Hadoop Map/Reduceフレームワークの詳細は、http://hadoop.apache.orgで、ApacheのHadoopに関するドキュメンテーションにあるMap/Reduceのチュートリアルを参照してください。

    [Set NameNode URI] (ネームノードURIの設定)

    このチェックボックスをオンにして、表示されるフィールドに、HadoopシステムのマスターノードであるHadoop NameNodeのURIを入力します。たとえば、NameNodeとしてmasternodeという名前のマシンを選択した場合、その場所はhdfs://masternode:portnumberになります。 WebHDFSを使用している場合、ロケーションはwebhdfs://masternode:portnumberとなります。WebHDFS with SSLはまだサポートされていません。

    Hadoop Map/Reduceフレームワークの詳細は、http://hadoop.apache.orgで、ApacheのHadoopに関するドキュメンテーションにあるMap/Reduceのチュートリアルを参照してください。

    Sparkカタログ

    使用するSpark実装値を選択します。
    • In-memory: 外部メタストアではないHiveメタストアにHive Thriftメタストアを設定する場合は、この値を選択します。
    • Hive: 使用するクラスターの外に存在する外部HiveメタストアにHive Thriftメタストアを設定する場合は、この値を選択します。
その他のプロパティ:

[Property type] (プロパティタイプ)

[Built-In] (組み込み)または[Repository] (リポジトリー)のいずれか。

[Built-In] (組み込み): プロパティデータは一元的に保存されません。

[Repository] (リポジトリー): プロパティを保存するリポジトリーファイルを選択します。

Use an existing connection (既存の接続を使用する)

定義済みの接続の詳細を再利用するには、このチェックボックスをオンにして、[Component List] (コンポーネントリスト)で該当する接続コンポーネントをクリックします。

注: ジョブに親ジョブと子ジョブが含まれている時は、2つのレベルの間の既存の接続を共有する必要がな場合(たとえば、親ジョブで作成した接続を子ジョブと共有するなど)には、以下を実行する必要があります。
  1. 親レベルで、共有するデータベース接続を、そのデータベース接続そのものを作成する接続コンポーネントの[Basic settings] (基本設定)ビューに登録します。

  2. 子レベルで、登録済みのそのデータベース接続を読み取るために専用の接続コンポーネントを使用します。

ジョブレベルをまたがってデータベース接続を共有する方法の例は、『 Talend Studio ユーザーガイド』を参照してください。

[Distribution] (ディストリビューション)

使用するクラスターはドロップダウンリストから選択します。リストのオプションは使用するコンポーネントによって異なります。これらのオプションの中でも、以下のオプションを使用するには特定の設定が必要です。
  • この[Distribution] (ディストリビューション)ドロップダウンリストに[Microsoft HD Insight]オプションが表示されている場合は、Microsoft HD Insightクラスターを使用できます。この場合、表示されているエリアでクラスターのHD Insightクラスター、Windows Azure Storageサービスへの接続を設定する必要があります。これらのパラメーターの詳細は、Talend Help Center (https://help.talend.com)で接続の手動の設定について検索してください。

  • Amazon EMRを選択している場合、Amazon EMRの開始方法の詳細は、Talend Help Center (https://help.talend.com)を参照してください。

  • [Custom] (カスタム)オプションを使用すれば、リストにあるディストリビューションのものとは異なるクラスター、つまり、 Talend で正式にサポートされていないクラスターに接続できます。

  1. [Import from existing version] (既存のバージョンからインポート)を選択すると、正式にサポートされているディストリビューションをベースとしてインポートしてから、ベースディストリビューションで提供されていない他の必要なjarファイルを追加できます。

  2. [Import from zip] (zipからインポート)を選択すると、使用するカスタムディストリビューションの設定zipファイルをインポートできます。zipファイルには、Hadoopの各種エレメントのライブラリーおよびこれらのライブラリーのインデックスファイルが含まれている必要があります。

    Talend Exchangeでは、 Talend コミュニティのメンバーがすぐに使える設定用zipファイルが共有されており、[Hadoop configuration] (Hadoop設定)リストからダウンロードして接続に直接使用できます。ただし、さまざまなHadoop関連のプロジェクトが継続的に進展しているため、このリストから対応するディストリビューションの設定Zipが見つからないことがあります。その場合は、[Import from existing version] (既存のバージョンからインポート)オプションを使って、既存のディストリビューションをベースとして取得し、ディストリビューションに必要なjarを追加することをお勧めします。

    Talend はカスタムバージョンを公式にサポートしていません。 Talend とそのコミュニティでは、Studioからカスタムバージョンに接続するための方法を紹介していますが、Hadoopのディストリビューションとバージョンの種類は幅広いため、選択したバージョンの設定がスムーズに機能するかどうかは保証できません。そのような接続のセットアップは、Hadoopについてどんな問題でもご自身で対処できる十分な経験をお持ちの場合のみ行ってください。

    注:

    カスタムディストリビューションとこのコンポーネント間で作成する接続に関わるjarファイルがインポートされるように、このダイアログボックスの有効なチェックボックスの選択を外さないでください。

    カスタムディストリビューションに接続して、その接続を共有する方法を段階的に説明する例については、Hortonworksを参照してください。

[Hive version] (Hiveのバージョン)

使用しているHadoopのディストリビューションのバージョンを選択します。使用可能なオプションは、使用しているコンポーネントによって異なります。

[Execution engine] (実行エンジン)

このチェックボックスをオンにして、ドロップダウンリストからジョブの実行に使用する必要のあるフレームワークを選択します。

このリストが利用できるのは、Hive接続に[Embedded] (埋め込み)モードを使用していて、作業に使用しているディストリビューションが以下である場合に限られます。
  • カスタムこのオプションにより、Tezをサポートしつつも Talend で公式にサポートされていないディストリビューションに接続できます。

Tezを使用する前に、使用しているHadoopクラスターがTezをサポートしていることを確認します。このコンポーネントの[Advanced settings] (詳細設定)ビューから関連するTezライブラリーへのアクセスを設定する必要があります。

Hive on Tezの詳細は、Apacheの関連ドキュメントをhttps://cwiki.apache.org/confluence/display/Hive/Hive+on+Tezで参照してください。そこには、Tezを使用してMapReduceを上回るパフォーマンスを得る方法を示すサンプルがいくつか示されています。

Schema (スキーマ)およびEdit schema (スキーマの編集)

スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。

スキーマを変更するには[Edit schema] (スキーマの編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを使用できます。

  • View schema (スキーマの表示): スキーマのみを表示する場合は、このオプションを選択します。

  • Change to built-in property (組み込みのプロパティに変更): ローカルで変更を行うためにスキーマを組み込みに変更する場合は、このオプションを選択します。

  • Update repository connection (リポジトリー接続を更新): リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。変更を現在のジョブにのみ反映する場合は、変更後、[No] (いいえ)を選択し、[Repository Content] (リポジトリーのコンテンツ)ウィンドウで再びこのスキーマのメタデータを選択します。

 

[Built-in] (組み込み): スキーマが作成され、このコンポーネント専用にローカルに保存されます。関連項目: 『 Talend Studio ユーザーガイド』を参照してください。

 

[Repository] (リポジトリー): スキーマは既に存在し、リポジトリーに保存されています。したがって、再利用できます。関連項目: 『 Talend Studio ユーザーガイド』を参照してください。

[Table Name] (テーブル名)

処理するテーブルの名前。

[Query type] (クエリータイプ)

[Built-in] (組み込み)または[Repository] (リポジトリー)のいずれかで次の設定を行います。

 

[Built-in] (組み込み): クエリーステートメントを手動で入力するか、またはSQLBuilderを使用してグラフィカルにビルドします。

 

[Repository] (リポジトリー): リポジトリーに保管されている関連クエリーを選択すると、[Query] (クエリー)フィールドに情報が入力されます。

[Guess Query] (クエリーの推測)

[Guess Query] (クエリーの推測)ボタンをクリックして、クエリーフィールド内のテーブルスキーマに対応するクエリーを生成します。

[This query uses Parquet objects] (このクエリーはParquetオブジェクトを使用します)

使用可能な場合は、このチェックボックスをオンにして、処理するテーブルがPARQUET形式を使用することを示し、コンポーネントを使用して必要なjarファイルを呼び出します。

使用するファイル形式が[PARQUET]である場合は、特定のPARQUET jarファイルを見つけてStudioにインストールするように指示するプロンプトが表示される可能性があります。
  • Hiveへの接続モードが[Embedded] (埋め込み)の場合、ジョブはローカルマシンで実行され、Studioにインストールされたこのjarを呼び出します。

  • Hiveへの接続モードが[Standalone] (スタンドアロン)の場合、ジョブはHiveをホストするサーバーで実行され、このjarファイルは接続先のクラスターのHDFSシステムに送信されます。したがって、[Basic settings] (基本設定)ビューの対応するフィールドでNameNode URIが正しく定義されていることを確認してください。

このjarファイルはApacheのサイトからダウンロードできます。外部モジュールのインストール方法は、Talend製品に外部モジュールをインストールする方法を参照してください。

[Query] (クエリー)

クエリーを入力します。フィールドの順序に気を付けて、スキーマ定義と一致するようにしてください。

Hiveのクエリー言語の詳細は、https://cwiki.apache.org/confluence/display/Hive/LanguageManualを参照してください。

注: GzipまたはBzip2の形式で圧縮されたデータは、クエリーステートメントを使用して処理できます。詳細は、https://cwiki.apache.org/confluence/display/Hive/CompressedStorageを参照してください。

Hadoopではファイルの保存に必要な領域を削減し、データ転送を高速化するための圧縮形式が異なります。圧縮ファイルを読み込む場合、Studioでは入力フローにフィードする前に展開する必要があります。

[Die on error] (エラー発生時に強制終了)

このチェックボックスは、デフォルトで選択されています。エラーの発生した行をスキップし、エラーが発生していない行の処理を完了するには、このチェックボックスをオフにします。必要に応じて[Row] (行) > [Rejects] (リジェクト)リンクを使用してエラー発生時に行を取得できます。

Store by HBase (HBaseによるストア)

HiveコンポーネントによるHBaseテーブルへのアクセスを許可するために設定が必要なパラメーターを表示するには、このチェックボックスをオンにします。
  • このアクセスが設定されると、HBase内のデータの読み取りと書き込みを行うHive QLステートメントをtHiveRowtHiveInputで使用できるようになります。

  • Kerberos認証を使用している場合は、表示された当該フィールドにHBase関連のプリンシパルを定義する必要があります。

HiveとHBaseを伴うこのアクセスの詳細は、Hive/HBaseの統合について説明しているApacheのHiveドキュメンテーションを参照してください。

[Zookeeper quorum] (Zookeeperクォーラム)

Studioとデータベース間のトランザクションを調整するZookeeperサービスの名前またはURLを入力します。Zookeeperを設定する時に、zookeeper.znode.parentプロパティを明示的に設定して、作成されてデータベースで使用されているすべてのznodeを含むルートznodeへのパスを定義しなければならない場合があります。次に、[Set Zookeeper znode parent] (親zookeeper znodeの設定)チェックボックスをオンにして、このプロパティを定義します。

[Zookeeper client port] (Zookeeperクライアントポート)

使用しているZookeeperサービスのクライアントリスニングポートの数を指定します。

[Define the jars to register for HBase] (HBase用に登録するjarを定義します)

このチェックボックスをオンにして、[Register jar for HBase] (HBase用にjarを登録)テーブルを表示します。このテーブルで、たとえば、デフォルトでHiveのインストール時に登録されるHive Storage Handlerなど、HBaseが必要とするjarファイルで欠けているものがあれば登録できます。

[Register jar for HBase] (HBase用にjarを登録)

[+]ボタンをクリックしてこのテーブルに行を追加し、[Jar name] (Jar名)カラムで、登録するjarファイルを選択し、[Jar path] (Jarパス)カラムで、そのjarファイルをポイントするパスを入力します。

詳細設定

[Tez lib] (Tezライブラリー)

Tezライブラリーへのアクセス方法を選択します。
  • [Auto install] (自動インストール): ランタイムに、ジョブはStudioから提供されたTezライブラリーをアップロードし、[Install folder in HDFS] (HDFS内のインストールフォルダー)フィールドで指定したディレクトリ(たとえば/tmp/usr/tez)にデプロイします。

    プロパティテーブルにtez.lib.urisプロパティを設定した場合、このディレクトリーはランタイムでそのプロパティの値を上書きします。ただし、プロパティテーブルで設定したその他のプロパティは引き続き有効です。

  • [Use exist] (既存の使用): ジョブは、使用するHadoopクラスターにデプロイ済みのTezライブラリーにアクセスします。それらのライブラリーをポイントするパスを[Lib path (folder or file)] (ライブラリーパス(フォルダーまたはファイル))フィールドに入力する必要があります。

  • [Lib jar] (ライブラリーjar): [Tez lib] (Tezライブラリー)リストで[Auto install] (自動インストール)を選択し、使用しているディストリビューションが[Custom] (カスタム)である場合に、このテーブルが表示されます。アップロードするTezライブラリーをこのテーブルに追加する必要があります。

[Temporary path] (一時パス)

クエリーselect * from your_table_nameを実行する時にJobtrackerとNameNodeを設定しない場合は、この一時パスを設定する必要があります。たとえば、Windowsでは/C:/select_allになります。

[Propagate QUERY's recordset] (QUERYのレコードセットをプロパゲート)

クエリーの結果を現在のフローのカラムに挿入するには、このチェックボックスをオンにします。このカラムを[use column] (カラムの使用)リストから選択します。

注:

このオプションにより、コンポーネントは先行コンポーネントのスキーマとは異なるスキーマを持つことができます。さらに、クエリーのレコードセットが含まれているカラムはObjectタイプに設定する必要があります。通常、このコンポーネントにはtParseRecordSetコンポーネントが続きます。

[Hadoop properties] (Hadoopプロパティ)

Talend Studio では、Hadoopディストリビューションの処理を実行するエンジンに、デフォルト設定を使用しています。特定の場合にカスタム設定を使用する必要がある場合は、カスタマイズするプロパティをこのテーブルで設定します。設定後、カスタマイズしたプロパティによってこれらのデフォルトのプロパティがランタイム時に上書きされます。
  • [Repository] (リポジトリー)に一元的に保管されたメタデータを使用している場合、テーブルにはそのメタデータで定義されたプロパティが自動的に継承されます。[Property type] (プロパティタイプ)[Repository] (リポジトリー)から[Built-in] (組み込み)に変更しないと、テーブルは編集できなくなります。

Hadoop、およびHDFSやHiveなどのその関連システムで必要なプロパティの詳細については、使用しているHadoopディストリビューションのドキュメントを参照するか、http://hadoop.apache.org/docsに掲載されているApacheのHadoopのドキュメントを参照し、必要なバージョンのドキュメントを選択してください。以下のリンクでは、一部のプロパティについて実例を紹介しています。

[Hive properties] (Hiveプロパティ)

Talend Studio では、Hiveデータベースの処理を実行するエンジンに、デフォルト設定を使用しています。特定の場合にカスタム設定を使用する必要がある場合は、カスタマイズするプロパティをこのテーブルで設定します。設定後、カスタマイズしたプロパティによってこれらのデフォルトのプロパティがランタイム時に上書きされます。Hive専用のプロパティの詳細は、https://cwiki.apache.org/confluence/display/Hive/AdminManual+Configurationを参照してください。
  • Tezを使用してHiveジョブを実行する必要がある場合は、hive.execution.engine[Properties] (プロパティ)カラムに、Tez[Value] (値)カラムに追加し、これらの文字列をどちらも二重引用符で囲みます。
  • [Repository] (リポジトリー)に一元的に保管されたメタデータを使用している場合、テーブルにはそのメタデータで定義されたプロパティが自動的に継承されます。[Property type] (プロパティタイプ)[Repository] (リポジトリー)から[Built-in] (組み込み)に変更しないと、テーブルは編集できなくなります。

[Mapred job map memory mb] (MapredジョブMapメモリmb)および[Mapred job reduce memory mb] (MapredジョブReduceメモリmb)

[Set memory] (メモリのセット)チェックボックスをオンにしてHadoopシステムでの計算実行で適切なメモリ割り当てをセットし、マッピングを調整して計算を減らすことができます。

このような場合は、必要な値を[Mapred job map memory mb] (MapredジョブのMapメモリMB)フィールドと[Mapred job reduce memory mb] (MapredジョブのReduceメモリMB)フィールドにそれぞれ入力してください。デフォルトでは、いずれのフィールドも通常は計算の実行に適切な1000に設定されています。

[Path separator in server] (サーバーのパス区切り)

サーバーのパス区切り記号のデフォルト値はそのままにしておきます。区切り記号をコロン(:)以外のHadoopディストリビューションのホストマシンで使用されているPATH変数またはその他の単語に変更している場合は除きます。その場合、値はホストで使用しているものに変更する必要があります。

[tStatCatcher Statistics] (tStatCatcher統計)

このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。

Global Variables

[Global Variables] (グローバル変数)

QUERY: 処理されているクエリーステートメント。これはFlow変数で、文字列を返します。

ERROR_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、Die on error (エラー時強制終了)がオフになっている場合にのみ機能します。

Flow変数はコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。

フィールドまたは式に変数を入れるには、Ctrl + Spaceを押して変数リストにアクセスし、リストから使用する変数を選択します。

変数の詳細については、『 Talend Studio ユーザーガイド』を参照してください。

使用方法

[Usage rule] (使用ルール)

このコンポーネントでは柔軟なDBクエリーのメリットが得られ、可能なすべてのHive QLクエリーが網羅されています。

tHiveRowはApplication_ID Log4jをキャプチャし、Log4j出力レベルをtHiveRow含むジョブの[Info] (情報の設定)したら、値をジョブログに書き込みます。
  • 個々のジョブレベルでLog4j出力レベルを定義する方法の詳細については、 Talend Studioユーザーガイドの[Customizing Log4j output level at runtime] (実行時のLog4j出力レベルのカスタマイズ)を参照してください。

  • すべてのジョブに構成を適用するようにStudioレベルでLog4jを構成する方法の詳細については、Talend Studioユーザーガイドの[Configuring Log4j] (Log4jの構成)を参照してください。

Hiveデータベースへの接続に使用しているStudioisがWindowsマシンにインストールされている場合は、このStudioがインストールされているディスクのルートにtmpというフォルダーを手動で作成する必要があります。

[Dynamic settings] (ダイナミック設定)

[+]ボタンをクリックしてテーブルに行を追加し、[Code] (コード)フィールドにコンテキスト変数を入力して、ジョブ内で計画した複数の接続からデータベース接続をダイナミックに選択します。この機能は、データ構造が同じでデータベースが異なるデータベーステーブルにアクセスする必要がある場合、特に、Talend Studioを介さずにジョブをデプロイおよび実行する必要がある時など、ジョブの設定を変更できない環境で作業している場合に役立ちます。

[Dynamic settings] (動的設定)テーブルは、[Basic settings] (基本設定)ビューで[Use an existing connection] (既存の接続を使用)チェックボックスが選択されている場合にのみ使用できます。ダイナミックパラメーターを定義すると、[Basic settings] (基本設定)ビューの[Component List] (コンポーネントリスト)ボックスは使用できなくなります。

動的パラメーターの使用サンプルは、コンテキストベースの動的接続によるデータベースからのデータの読み取りおよび動的に読み込まれた接続パラメーターを使用した異なるMySQLデータベースからのデータの読み取りを参照してください。[Dynamic settings] (動的設定)とコンテキスト変数については、『Talend Studioユーザーガイド』を参照してください。

前提条件

Talend Studio との操作を確実に行うには、Hadoopディストリビューションを適切にインストールする必要があります。以下のリストに、MapR関連の情報などを示します。

  • MapRクライアントは必ずStudioのあるマシンにインストールして、そのマシンのPATH変数にMapRクライアントライブラリーを追加します。MapRのドキュメンテーションによると、各OSバージョンに対応するMapRクライアントのライブラリーは、MAPR_INSTALL\ hadoop\hadoop-VERSION\lib\nativeにあるとされています。たとえば、Windows版のライブラリーは、\lib\native\MapRClient.dllにあるMapRクライアントのjarファイルにあります。詳細は、MapRからhttp://www.mapr.com/blog/basic-notes-on-configuring-eclipse-as-a-hadoop-development-environment-for-maprを参照してください。

    指定のライブラリーを追加しないと、no MapRClient in java.library.pathというエラーが発生する可能性があります。

  • たとえば、[Window] (ウィンドウ)メニューの[Preferences] (環境設定)ダイアログボックスにある[Run/Debug] (実行/デバッグ)ビューの[Job Run VM arguments] (ジョブ実行VMの引数)エリアで、-Djava.library.path引数を設定します。この引数により、そのMapRクライアントのネイティブライブラリーへのパスがStudioに渡されるので、サブスクリプションベースのユーザーはデータビューアーをフルに活用して、MapRに保存されたデータをStudioでローカルに表示できます。

Hadoopディストリビューションのインストール方法の詳細は、使用しているHadoopディストリビューションに対応するマニュアルを参照してください。