tHiveCreateTable標準プロパティ - 7.3

Hive

Version
7.3
Language
日本語 (日本)
Product
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
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > DBコンポーネント > Hive
データガバナンス > サードパーティーシステム > DBコンポーネント > Hive
データクオリティとプレパレーション > サードパーティーシステム > DBコンポーネント > Hive

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

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

このフレームワーク内のコンポーネントは、ビッグデータ対応のTalend 製品すべて、およびTalend Data Fabricで使用できます。

基本設定

接続設定:
  • このコンポーネントを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のディストリビューションのバージョンを選択します。使用可能なオプションは、使用しているコンポーネントによって異なります。

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

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

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

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

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

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

 

[Built-in] (組み込み): そのコンポーネントのみのスキーマを作成して、ローカルに保存します。

 

[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。

再使用するスキーマに整数またはファンクションのデフォルト値が指定されている場合は、これらのデフォルト値を引用符で囲まないようにご注意ください。引用符で囲まれている場合は手動で削除します。

詳細は、Talend Studioユーザーガイドでテーブルスキーマに関連する説明を参照してください。

[Table Name] (テーブル名)

作成するテーブルの名前。

テーブルの操作

テーブルを作成するためのアクションを選択します。

Format (形式)

作成するテーブル専用のデータ形式を選択します。

使用可能なデータ形式は、使用しているHadoopディストリビューションのバージョンによって異なります。

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

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

このjarファイルはApacheのサイトからダウンロードできます。外部モジュールのインストール方法は、Talend製品に外部モジュールをインストールする方法を参照してください。外部モジュールをインストールする方法の詳細は、Talend Help Center (https://help.talend.com)を参照してください。

Inputformat classOutputformat class

これらのフィールドは、[Format] (フォーマット)リストで[INPUTFORMAT and OUTPUTFORMAT] (入力形式と出力形式)を選択した場合にのみ表示されます。

これらのフィールドでは、[Format] (フォーマット)リストで使用できないデータフォーマットに使用するjarファイルの名前を入力できます。

[Storage Class] (ストレージクラス)

非ネイティブテーブル(Hive以外のシステムCassandraやMongoDBなどで保存および管理されるHiveテーブル)の作成に使用するストレージハンドラーの名前を入力します。

このフィールドは [Format] (フォーマット)リストで[STORAGE] (ストレージ)が選択されている場合にのみ使用できます。

ストレージハンドラーの詳細は、https://cwiki.apache.org/confluence/display/Hive/StorageHandlersを参照してください。

パーティションの設定

作成するテーブルにパーティションカラムを追加するには、このチェックボックスをオンにします。選択したら、追加する必要のあるパーティションカラムのスキーマを定義する必要があります。

[Set file location] (ファイルロケーションの設定)

デフォルト以外のディレクトリーにHiveテーブルを作成する場合は、このチェックボックスをオンにして、テーブルのコンテンツを保持するために使用するディレクトリーをHDFSに入力します。

これは通常、[Advanced settings] (詳細設定)タブの[Create an external table] (外部テーブルを作成する)チェックボックスをオンにして外部Hiveテーブルを作成する必要がある場合に役立ちます。

[Use S3 endpoint] (S3エンドポイントを使用)

[Set file location] (ファイルの場所を設定する)チェックボックスをオンにして、外部Hiveテーブルを作成すると、[Use S3 endpoint] (S3エンドポイントを使用)チェックボックスが表示されます。

この[Use S3 endpoint] (S3エンドポイントを使用)チェックボックスをオンにしたら、表示されたフィールドに次のパラメーターを入力する必要があります。
  • [S3 bucket] (S3バケット): テーブルを作成するバケットの名前を入力します。

  • [Bucket name] (バケット名): ジョブの依存項目を保存するために使用するバケットの名前を入力します。S3に既存のバケットを用意しておく必要があります。
  • [Temporary resource folder] (一時リソースフォルダー): ジョブの依存項目を保存するディレクトリーを入力します。たとえば、バケット内の/temp_resources フォルダーに依存項目を書き込むには、temp_resourcesと入力します。

    ランタイムにこのフォルダーが既に存在する場合、そのコンテンツは新しい依存項目によって上書きされます。そうでない場合、このフォルダーは自動的に作成されます。

  • [Access key] (アクセスキー)[Secret key] (シークレットキー): 使用するAmazon S3バケットへの接続に必要な認証情報を入力します。

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

S3ファイルの形式はS3N (S3ネイティブファイルシステム)です。

S3で作成されたHiveテーブルは実際には外部テーブルであるため、この[Use S3 endpoint] (S3エンドポイントを使用)チェックボックスは、[Create an external table] (外部テーブルの作成)が選択された状態で使用する必要があります。

詳細設定

[Like table] (テーブルのように)

このチェックボックスをオンにし、コピーするHiveテーブルの名前を入力します。これにより、データをコピーせずに既存のテーブルの定義をコピーできます。

Likeパラメーターの詳細は、Hiveのデータ定義言語に関するApacheの情報を参照してください。

外部テーブルの作成

このチェックボックスをオンにすると、作成するテーブルが外部Hiveテーブルになります。この種のHiveテーブルは、データがHDFSにある場合、生データをそのまま残します。

通常、ファイルシステムに存在する共有データにアクセスするには、外部テーブルの方が適しています。

Hiveのテーブルの詳細は、Hiveに関するApacheのドキュメンテーションを参照してください。

[Table comment] (テーブルコメント)

作成するテーブルに使用する説明を入力します。

[As select] (選択として)

このチェックボックスを [Select] (選択)し、Selectステートメントに基づくHiveテーブルを作成するためのAs selectステートメントを入力します。

clustered_byまたはskewed_byステートメントの設定

Clustered byステートメントを入力して、テーブルまたはパーティションのデータをバケットにクラスター化します。 or/andSkewed byステートメントを入力して、Hiveが大きく歪んだデータを抽出し、それを個別のファイルに配置できるようにします。これは通常、クエリー中のパフォーマンスを向上させるために使用されます。Google NMT

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

SerDe行形式を使用している場合は、カスタムSerDeプロパティを追加して、StudioのHadoopエンジンで使用されるデフォルトのプロパティを上書きできます。

[Table properties] (テーブルのプロパティ)

StudioのHadoopエンジンで使用されるデフォルトのプロパティをオーバーライドするカスタムHiveテーブルプロパティを追加します。

[Temporary path] (一時パス)

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

[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に設定されています。

設定するメモリパラメーターは[Map (in Mb)][Reduce (in Mb)][ApplicationMaster (in Mb)]です。これらのフィールドは、MapとReduceの計算、およびYARNのApplicationMasterに動的にメモリを割り当てることができます。

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

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

[Set application name] (アプリケーション名を設定)

このチェックボックスを選択すると、MapReduceやTezでクエリーを実行する時に重複を避けることができます。

MapReduceではmapred.job.nameが、Tezではhive.query.nameがそれぞれ変更されます。どちらの名前も、プロジェクト名、ジョブ名、ジョブのバージョン、日付、時間を連結したものに修正されます。

[tStatCatcher Statistics] (tStatCatcher統計)

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

グローバル変数

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

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

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

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

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

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

使用方法

使用ルール

このコンポーネントはスタンドアロンとして機能します。

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

[Row format] (行形式)

[Set Delimited row format] (区切り行形式を設定する)

 

[Set SerDe row format] (SerDe行フォーマットを設定する)

 

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

[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ディストリビューションに対応するマニュアルを参照してください。