# tHiveCreateTable

さまざまなHiveデータ形式に合うHiveテーブルを作成します。

RCまたはORCのような適切なHiveデータ形式なら、Hiveによるデータ処理のパフォーマンスが高まります。

tHiveCreateTableは、使用するHiveデータベースに接続し、指定する形式のデータを専用とするHiveテーブルを作成します。

デフォルトで、このコンポーネントはTalend Studioと共には出荷されていません。機能マネージャーを使ってインストールする必要があります。 詳細は、[機能マネージャーを使って機能をインストール](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/install-features-to-talend-studio)をご覧ください。

## tHiveCreateTableの標準プロパティ

これらのプロパティは、標準ジョブのフレームワークで実行されているtHiveCreateTableを設定するために使われます。

標準のtHiveCreateTableコンポーネントは、ビッグデータファミリーとデータベースファミリーに属しています。

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

## 基本設定

接続設定:

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

  | [Project ID] (プロジェクトID) | Google Cloud PlatformプロジェクトのIDを入力します。<br><br>プロジェクトIDがわからない場合は、Google Cloud Platformサービスの[Manage Resources]ページでご確認ください。 |
  | --- | --- |
  | [Cluster ID] (クラスターID) | 使用するDataprocクラスターのIDを入力します。 |
  | [Region] (リージョン) | 使用するGoogle Cloudリージョンをこのドロップダウンリストから、選択します。 |
  | [Google Storage staging bucket] (Googleストレージステージングバケット) | Talendジョブでは、依存jarファイルが実行されることを想定しているため、ジョブが実行時にこれらのjarファイルにアクセスできるよう、これらのファイルの転送先にするGoogle Storageディレクトリーを指定します。<br><br>入力するディレクトリーの末尾はスラッシュ(/)にする必要があります。ディレクトリーがない場合は即座に作成されますが、使用するバケットはあらかじめ作成しておく必要があります。 |
  | [Database] (データベース) | このフィールドにデータベースの名前を入力します。 |
  | [Provide Google Credentials in file] (Googleクレデンシャルをファイルで指定) | Google Cloud SDKがインストールされていて、Google Cloud Platformへのアクセスにユーザーアカウントの認証情報を使用することが許可されている特定のマシンからジョブを起動する場合は、このチェックボックスをオフにします。この状況では多くの場合、このマシンはお使いのローカルマシンです。<br><br>リモートマシン(Talend JobServerなど)からジョブを起動する場合は、このチェックボックスをオンにし、[Path to Google Credentials file] (Googleクレデンシャルファイルへのパス)フィールドが表示されたら、このJSONファイルを保存するTalend JobServerrマシン内のディレクトリーを入力します。また、[....]ボタンをクリックし、ポップアップダイアログボックスでJSONファイルを参照することもできます。<br><br>Googleクレデンシャルファイルの詳細は、Google Cloud Platformの管理者に問い合わせるか、[Google Cloud Platform Auth Guide](https://cloud.google.com/docs/authentication)をご覧ください。 |

* Microsoft HD Insightディストリビューションでこのコンポーネントを使用する場合:

  | Livyの設定 | 使用するMicrosoft HD Insightクラスターのアドレスと認証情報を入力します。たとえば、アドレスはhttps://your\_hdinsight\_cluster\_name.azurehdinsight.netとなり、Azureアカウントの認証情報は次のようになります: yourname。Talend Studioは、このサービスを使用してジョブを HD Insightクラスターに送信します。<br><br>[Job result folder] (ジョブ結果保存フォルダー)フィールドに、使用するAzure Storageでのジョブの実行結果を保存するロケーションを入力します。 |
  | --- | --- |
  | ジョブステータスポーリングの設定 | [Poll interval when retrieving Job status (in ms)] (ジョブステータスを取得する時のポーリング間隔(ミリ秒))フィールドで、Talend StudioにジョブのステータスをSparkに要求させる時間間隔(ミリ秒)を入力します。たとえば、このステータスは[Pending] (保留中)または[Running] (実行中)になります。<br><br>[Maximum number of consecutive statuses missing] (見つからないステータスの最大連続回数)フィールドには、ステータスのレスポンスがない場合にTalend Studioがステータス取得のために再試行する最大回数を入力します。 |
  | [HDInsight configuration] (HDInsightの設定) | <ul> <li> <span><span>[Username] (ユーザー名)</span>は、クラスターの作成時に定義されたものです。これは、クラスターの<span>[SSH + Cluster] (SSH + クラスター)</span>ログインブレードで確認できます。</span> </li> <li><span>[Password] (パスワード)</span>は、このクラスターの認証でHDInsightクラスターを作成する時に定義します。</li> </ul> |
  | [Windows Azure Storage configuration] (Windows Azure Storageの設定) | 使用するAzure StorageアカウントかADLS Gen2アカウントのアドレスと認証情報を入力します。この設定では、ビジネスデータを読み書きする場所は定義せず、ジョブをデプロイする場所のみ定義します。<br><br>[Container] (コンテナー)フィールドに、使用するコンテナーの名前を入力します。利用可能なコンテナーは、使用するAzure StorageアカウントのBlobブレードで確認できます。<br><br>[Deployment Blob] (デプロイメントBlob)フィールドに、このAzure Storageアカウントで現在のジョブとその依存ライブラリーを保存したい場所を入力します。<br><br>[Hostname] (ホスト名)フィールドに、https://部分を含まないAzure StorageアカウントのプライマリーBlobサービスエンドポイントを入力します。このエンドポイントは、このストレージアカウントの[Properties] (プロパティ)ブレードにあります。<br><br>[Username] (ユーザー名)フィールドに、使用するAzure Storageアカウントの名前を入力します。<br><br>[Password] (パスワード)フィールドに、使用するAzure Storageアカウントのアクセスキーを入力します。このキーは、このストレージアカウントの[Access keys] (アクセスキー)ブレードにあります。 |
  | [Database] (データベース) | このフィールドにデータベースの名前を入力します。 |

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

  | [Connection mode] (接続モード) | リストから接続モードを選択します。オプションは、使用しているディストリビューションによって異なります。 |
  | --- | --- |
  | [Hive version] (Hiveのバージョン) | 使用しているHiveのバージョンを選択します。 |
  | [Host] (ホスト) | データベースサーバーのIPアドレスを入力します。 |
  | ポート | データベースサーバーのリスニングポート番号を入力します。 |
  | データベース | このフィールドにデータベースの名前を入力します。 |
  | Username (ユーザー名)とPassword (パスワード) | DBユーザー認証データ。<br><br>パスワードを入力するためには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して[OK]をクリックし、設定を保存します。 |
  | [Use Kerberos authentication] (Kerberos認証を使用) | Kerberosセキュリティを実行しているHiveメタストアにアクセスする場合は、このチェックボックスをオンにし、表示されたフィールドに関連するパラメーターを入力します。<br><br>次のパラメーターの値は、使用するHiveシステムの*hive-site.xml*ファイル内にあります。<br><br><ol> <li> <p> <span>[Hive principal] (Hiveプリンシパル)</span>は<em>hive.metastore.kerberos.principal</em>の値を使用します。これは、Hiveメタストアのサービスプリンシパルです。</p> </li> <li> <p> <span>[HiveServer2 local user principal] (HiveServer2ローカルユーザープリンシパル)</span>は、<em>hive.server2.authentication.kerberos.principal</em>の値を使用します。</p> </li> <li> <p> <span>[HiveServer2 local user key tab] (HiveServer2ローカルユーザーキータブ)</span>は、<em>hive.server2.authentication.kerberos.keytab</em>の値を使用します。                         </p> </li> <li> <p> <span>[Metastore URL] (メタストアURL)</span>は、<em>javax.jdo.option.ConnectionURL</em>の値を使用します。これは、HiveメタストアへのJDBC接続文字列です。</p> </li> <li> <p> <span>[Driver class] (ドライバークラス)</span>は、<em>javax.jdo.option.ConnectionDriverName</em>の値を使用します。これは、JDBC接続のドライバーの名前です。</p> </li> <li> <p> <span>[Username] (ユーザー名)</span>は、<em>javax.jdo.option.ConnectionUserName</em>の値を使用します。ユーザー名とパスワードのパラメーターは、Hiveメタストアへの接続用のユーザー認証情報になります。</p> </li> <li> <p> <span>[Password] (パスワード)</span>は、<em>javax.jdo.option.ConnectionPassword</em>の値を使用します。</p> </li> </ol><br><br><br>表示されるその他のパラメーターは、それぞれのパラメーターが含まれているHadoop設定ファイルをご覧ください。たとえば、[Namenode principal] (ネームノードプリンシパル)は、使用しているディストリビューションの*hdfs-site.xml*ファイルまたは*hdfs-default.xml*ファイルにあります。<br><br>このチェックボックスは、接続しているHadoopのディストリビューションによっては、表示されないことがあります。 |
  | [Use a key tab to authenticate] (キータブを認証に使用) | [Use a keytab to authenticate] (Keytabを認証に使用)チェックボックスをオンにして、所定のkeytabファイルを使ってKerberos対応のシステムにログインします。keytabファイルには、Kerberosのプリンシパルと暗号化されたキーのペアが含まれています。使用するプリンシパルを[Principal] (プリンシパル)フィールドに入力し、keytabファイルへのアクセスパスを[Keytab] フィールドに入力します。このキータブファイルは、ジョブが実際に実行されているマシン(Talend JobServerなど)に保存する必要があります。<br><br>keytabが有効なジョブは、プリンシパルに任命されたユーザーでなくても実行できますが、使用するkeytabファイルの読み取り権限が必要です。たとえば*user1*というユーザー名でジョブを実行し、使用するプリンシパルが*guest*の場合、*user1*に使用するキータブファイルの読み取り権限があることをご確認ください。 |
  | [Use SSL connection] (SSL接続を使用) | SSLまたはTLS暗号化接続を有効にする場合は、このチェックボックスをオンにします。<br><br>次に、表示されたフィールドに認証情報を入力します。<br><br><ul> <li> <p><span>[Trust store path] (Truststoreのパス)</span>フィールドにパスを入力するか、使用するTruststoreファイルに移動します。デフォルトでは、サポートされるTruststore型は、<em>JKS</em>および<em>PKCS 12</em>です。</p> </li> <li> <p>パスワードを入力するためには、パスワードフィールドの横にある<span>[...]</span>ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して<span>[OK]</span>をクリックし、設定を保存します。</p> </li> </ul><br><br>この機能は、以下のディストリビューションの[Standalone] (スタンドアロン)モードのHiveServer2でのみ利用できます。<br><br><ul> <li> <p>Hortonworksデータプラットフォーム2.0 +</p> </li> <li> <p>Cloudera CDH4 +</p> </li> <li> <p>Pivotal HD 2.0 +</p> </li> <li> <p>Amazon EMR 4.0.0 +</p> </li> </ul> |
  | [Set Resource Manager] (リソースマネージャーの設定) | このチェックボックスをオンにして、表示されるフィールドにディストリビューションのResourceManagerのロケーションを入力します。たとえば、tal-qa114.talend.lan: 8050のようにします。<br><br>その後、使用するHadoopクラスターの構成に応じて以下のパラメーターを引き続き設定できます (パラメーターのチェックボックスをオフのままにしておくと、実行時に、使用するHadoopクラスター内のこのパラメーターに関する設定は無視されます):<br><br><ol> <li> <p><span>[Set resourcemanager scheduler address] (リソースマネージャースケジューラーアドレスを設定)</span>チェックボックスをオンにして、表示されたフィールドにスケジューラーアドレスを入力します。</p> </li> <li> <p><span>[Set jobhistory address] (ジョブ履歴アドレスを設定)</span>チェックボックスをオンにして、使用するHadoopクラスターのJobHistoryサーバーの場所を入力します。これにより、現在のジョブのメトリックス情報がそのJobHistoryサーバーに保存されます。</p> </li> <li> <p><span>[Set staging directory] (ステージングディレクトリーを設定)</span>チェックボックスをオンにして、実行プログラムで作成される一時ファイル用のHadoopクラスターで定義されたこのディレクトリーを入力します。一般的には、このディレクトリーはディストリビューションの<em>yarn-site.xml</em>や<em>mapred-site.xml</em>などの設定ファイル内にある<em>yarn.app.mapreduce.am.staging-dir</em>プロパティの下にあります。</p> </li> <li> <p><span>[Advanced settings] (詳細設定)</span>ビューの<span>[Set memory] (メモリの設定)</span>チェックボックスをオンにして、適切なメモリ容量をYARNの<span>Map</span>と<span>Reduce</span>の計算と<span>ApplicationMaster</span>に割り当てます。</p> </li> <li> <p><span>[Set Hadoop user] (Hadoopユーザーの設定)</span>チェックボックスをオンにして、ジョブを実行したいユーザー名を入力します。Hadoop内のファイルまたはディレクトリーには読み取りまたは書き込みの適切な権限を持つ特定のオーナーがあるため、このフィールドを使用して、処理するファイルまたはディレクトリーにアクセスする適切な権限を持つユーザー名の下でジョブを直接実行できます。</p> </li> <li> <p><span>[Use datanode hostname] (データノードホスト名を使用)</span>チェックボックスをオンにして、これらのホスト名によるデータノードへのアクセスをジョブに許可します。これは、実際には<em>dfs.client.use.datanode.hostname</em>プロパティを<em>true</em>に設定しています。S3Nファイルシステムに接続する場合、このチェックボックスをオンにする必要があります。</p> </li> </ol><br><br><br>これらのパラメーターの詳細は、ドキュメンテーションを参照するか、または、使用するHadoopクラスターの管理者にお問い合わせください。<br><br>Hadoop Map/Reduceフレームワークの詳細は、[Apache Hadoopに関するドキュメンテーション](http://hadoop.apache.org/)でMap/Reduceのチュートリアルをご覧ください。 |
  | [Set NameNode URI] (ネームノードURIの設定) | このチェックボックスをオンにして、表示されるフィールドに、HadoopシステムのマスターノードであるHadoop NameNodeのURIを入力します。たとえば、NameNodeとしてmasternodeという名前のマシンを選択した場合、その場所はhdfs://masternode:portnumberになります。 WebHDFSを使用している場合、ロケーションはwebhdfs://masternode:portnumberとなります。WebHDFS with SSLはまだサポートされていません。<br><br>Hadoop Map/Reduceフレームワークの詳細は、[Apache Hadoopに関するドキュメンテーション](http://hadoop.apache.org/)でMap/Reduceのチュートリアルをご覧ください。 |
  | Sparkカタログ | 使用するSpark実装値を選択します。<br><br><ul> <li> <span>In-memory</span>: 外部メタストアではないHiveメタストアに<span>Hive Thriftメタストア</span>を設定する場合は、この値を選択します。</li> <li> <span>Hive</span>: 使用するクラスターの外に存在する外部Hiveメタストアに<span>Hive Thriftメタストア</span>を設定する場合は、この値を選択します。</li> </ul> |

その他のプロパティ:

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| [Property type] (プロパティタイプ) | [Built-in] (組み込み)と[Repository] (リポジトリー)のいずれかです。<br><br><ul> <li> <span>[Built-in] (組み込み)</span>: 一元的に保存されるプロパティデータはありません。</li> <li> <span>[Repository] (リポジトリー)</span>: プロパティが保管されるリポジトリーファイルを選択します。後続フィールドは、取得されたデータを使用して自動的に入力されます。</li> </ul> |
| [Use an existing connection] (既存の接続を使用) | 定義済みの接続の詳細を再利用する場合は、このチェックボックスをオンにして、[Component List] (コンポーネントリスト)ドロップダウンリストから、目的の接続コンポーネントを選択します。<br><br>情報メモ注: ジョブに親ジョブと子ジョブが含まれている時は、親ジョブと子ジョブの間の既存の接続を共有したい場合(たとえば、親ジョブで作成した接続を子ジョブと共有するなど)には、次のように実行します。<br><br><ol> <li>親レベルで、共有するデータベース接続を、そのデータベース接続そのものを作成する接続コンポーネントの<span>[Basic settings] (基本設定)</span>ビューに登録します。 </li> <li>子レベルで、登録済みのそのデータベース接続を読み取るために専用の接続コンポーネントを使用します。 </li> </ol><br><br>ジョブレベル全体でデータベース接続を共有する方法の例は、[データベース接続を共有](https://help.qlik.com/talend/r/ja-JP/7.3/studio-user-guide/sharing-database-connection)をご覧ください。 |
| [Distribution] (ディストリビューション) | 使用するクラスターはドロップダウンリストから選択します。リストのオプションは使用するコンポーネントによって異なります。これらのオプションの中でも、以下のオプションを使用するには特定の設定が必要です。<br><br><ul> <li> <p>この<span>[Distribution] (ディストリビューション)</span>ドロップダウンリストに<span>[Microsoft HD Insight]</span>オプションが表示されている場合は、Microsoft HD Insightクラスターを利用できます。この場合、表示されているエリアでクラスターのHD Insightクラスター、Windows Azure Storageサービスへの接続を設定する必要があります。これらのパラメーターの詳細は、<a href="https://help.qlik.com/talend/r/ja-JP/7.3/studio-user-guide/configuring-connection-manually" target="_blank">手動で接続を設定</a>をご覧ください。 </p> </li> <li> <p><span>Amazon EMR</span>を選択している場合は、<a href="https://help.qlik.com/talend/r/en-US/8.0/amazon-emr-getting-started" target="_blank">Amazon EMR - Getting Started</a>で詳細をご覧ください。</p> </li> <li> <p><span>[Custom] (カスタム)</span>オプションを使用すれば、リストにあるディストリビューションのものとは異なるクラスター、つまり、<span> <span>Talend</span> </span>で正式にサポートされていないクラスターに接続できます。</p> </li> </ul><br><br><ol> <li> <p><span>[Import from existing version] (既存のバージョンからインポート)</span>をオンにすると、正式にサポートされているディストリビューションをベースとしてインポートしてから、ベースディストリビューションで提供されていない他の必要なjarファイルを追加できます。</p> </li> <li> <p><span>[Import from zip] (zipからインポート)</span>をオンにすると、使用するカスタムディストリビューションの設定zipファイルをインポートできます。zipファイルには、Hadoopの各種エレメントのライブラリーおよびこれらのライブラリーのインデックスファイルが含まれている必要があります。 </p> <p><span><span>Talend</span></span>はカスタムバージョンを公式にサポートしていません。<span><span>Talend</span></span>とそのコミュニティでは、<span>Talend Studio</span>からカスタムバージョンに接続するための方法を紹介していますが、Hadoopのディストリビューションとバージョンの種類は幅広いため、選択したバージョンの設定がスムーズに機能するかどうかは保証できません。そのような接続のセットアップは、Hadoopについてどんな問題でもご自身で対処できる十分な経験をお持ちの場合のみ行ってください。</p> <div><span>情報メモ</span><span>注:</span> <p>カスタムディストリビューションとこのコンポーネント間で作成する接続に関わるjarファイルがインポートされるように、このダイアログボックスのアクティブなチェックボックスをオフにしないでください。</p> </div> <p>カスタムディストリビューションの接続方法、および接続の共有方法のステップ例は、<a href="https://help.qlik.com/talend/r/ja-JP/8.0/hortonworks" target="_blank">Hortonworks</a>をご覧ください。</p> </li> </ol><br><br>情報メモ注: Talend Studio 8.0 R2024-04以降、[Distribution] (ディストリビューション)パラメーターは削除されています。 |
| [Hive version] (Hiveのバージョン) | 使用しているディストリビューションのHBaseバージョンを選択します。<br><br>情報メモ注: Talend Studio 8.0 R2024-04以降、[Hive version] (Hiveバージョン)パラメーターは削除されています。 |
| Hiver Server | 使用しているHiveのバージョンを選択します。 |
| [Hadoop version] (Hadoopのバージョン) | 使用しているHadoopのバージョンを選択します。 |
| [Schema] (スキーマ)と[Edit Schema] (スキーマを編集) | スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。<br><br>スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。<br><br><ul> <li> <p> <span>[View schema] (スキーマを表示)</span>: スキーマのみを表示する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Change to built-in property] (組み込みのプロパティに変更)</span>: ローカルで変更を行うためにスキーマを<span>組み込み</span>に変更する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Update repository connection] (リポジトリー接続をアップデート)</span>: リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。</p> <p>変更を現在のジョブにのみ反映する場合は、変更後、<span>[No] (いいえ)</span>を選択し、<span>[Repository Content] (リポジトリーコンテンツ)</span>ウィンドウで再びこのスキーマのメタデータを選択します。</p> </li> </ul><br><br>[Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。<br><br>[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。<br><br>再使用するスキーマに整数またはファンクションのデフォルト値が指定されている場合は、これらのデフォルト値を引用符で囲まないようにご注意ください。引用符で囲まれている場合は手動で削除します。<br><br>詳細は、[テーブルスキーマを取得](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/retrieving-table-schemas?tocId=_C1~eFOlN~GM_JR2qkBYZg)をご覧ください。 |
| [Table Name] (テーブル名) | 作成するテーブルの名前。 |
| [Action on table] (テーブルでのアクション) | テーブルを作成するためのアクションを選択します。 |
| Format (形式) | 作成するテーブル専用のデータ形式を選択します。<br><br>使用可能なデータ形式は、使用しているHadoopディストリビューションのバージョンによって異なります。<br><br>使用するファイル形式が[PARQUET]である場合は、特定のPARQUET JARファイルを検索してTalend Studioにインストールするように指示するプロンプトが表示されることがあります。<br><br><ul> <li> <p>Hiveへの接続モードが<span>[Embedded] (組み込み)</span>の場合、ジョブはローカルマシンで実行され、<span>Talend Studio</span>にインストールされているこのJARを呼び出します。</p> </li> <li> <p>Hiveへの接続モードが<span>[Standalone] (スタンドアロン)</span>の場合、ジョブはHiveをホストするサーバーで実行され、このJARファイルは接続先のクラスターのHDFSシステムに送信されます。したがって、<span>[Basic settings] (基本設定)</span>ビューの対応するフィールドでNameNode URIが正しく定義されていることをご確認ください。</p> </li> </ul><br><br><br>このJARファイルはApacheのサイトからダウンロードできます。外部モジュールのインストール方法は、[外部モジュールをインストール](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/installing-external-modules)をご覧ください。 |
| Inputformat classとOutputformat class | これらのフィールドは、[Format] (フォーマット)リストで[INPUTFORMAT and OUTPUTFORMAT] (入力形式と出力形式)を選択した場合にのみ表示されます。<br><br>これらのフィールドでは、[Format] (フォーマット)リストで使用できないデータフォーマットに使用するjarファイルの名前を入力できます。 |
| [Storage Class] (ストレージクラス) | 非ネイティブテーブル(Hive以外のシステムCassandraやMongoDBなどで保存および管理されるHiveテーブル)の作成に使用するストレージハンドラーの名前を入力します。<br><br>このフィールドは、 [Format] (フォーマット)リストで[STORAGE] (ストレージ)が選択されている場合のみ利用できます。<br><br>ストレージハンドラーの詳細は、[Hive Storage Handlers](https://cwiki.apache.org/confluence/display/Hive/StorageHandlers)をご覧ください。 |
| [Set partitions] (パーティションを設定) | 作成するテーブルにパーティションカラムを追加するには、このチェックボックスをオンにします。選択したら、追加する必要のあるパーティションカラムのスキーマを定義する必要があります。 |
| [Set file location] (ファイルのロケーションの設定) | デフォルト以外のディレクトリーにHiveテーブルを作成する場合は、このチェックボックスをオンにして、テーブルのコンテンツを保持するために使用するディレクトリーをHDFSに入力します。<br><br>これは通常、[Advanced settings] (詳細設定)タブの[Create an external table] (外部テーブルを作成する)チェックボックスをオンにして外部Hiveテーブルを作成する必要がある場合に役立ちます。 |
| [Use S3 endpoint] (S3エンドポイントを使用) | [Set file location] (ファイルのロケーションを設定する)チェックボックスをオンにして、外部Hiveテーブルを作成すると、[Use S3 endpoint] (S3エンドポイントを使用)チェックボックスが表示されます。<br><br>この[Use S3 endpoint] (S3エンドポイントを使用)チェックボックスをオンにしたら、表示されたフィールドに次のパラメーターを入力する必要があります。<br><br><ul> <li> <p> <span>[S3 bucket] (S3バケット)</span>: テーブルを作成するバケットの名前を入力します。</p> </li> <li> <span>[Bucket name] (バケット名)</span>: ジョブの依存項目を保存するために使用するバケットの名前を入力します。S3に既存のバケットを用意しておく必要があります。</li> <li> <span>[Temporary resource folder] (一時リソースフォルダー)</span>: ジョブの依存項目を保存するディレクトリーを入力します。たとえば、バケット内の<span>/temp_resources</span> フォルダーに依存項目を書き込むには、<span>temp_resources</span>と入力します。<p>ランタイムにこのフォルダーが既に存在する場合、そのコンテンツは新しい依存項目によって上書きされます。そうでない場合、このフォルダーは自動的に作成されます。</p> </li> <li> <p> <span>[Access key] (アクセスキー)</span>と<span>[Secret key] (シークレットキー)</span>: 使用するAmazon S3バケットへの接続に必要な認証情報を入力します。 </p> <p>パスワードを入力するためには、パスワードフィールドの横にある<span>[...]</span>ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して<span>[OK]</span>をクリックし、設定を保存します。</p> </li> </ul><br><br><br>S3ファイルの形式はS3N (S3ネイティブファイルシステム)です。<br><br>S3で作成されたHiveテーブルは実際には外部テーブルであるため、この[Use S3 endpoint] (S3エンドポイントを使用)チェックボックスは、[Create an external table] (外部テーブルの作成)が選択された状態で使用する必要があります。 |

## 詳細設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| [Like table] (テーブルのように) | このチェックボックスをオンにし、コピーするHiveテーブルの名前を入力します。これにより、データをコピーせずに既存のテーブルの定義をコピーできます。<br><br>Likeパラメーターの詳細は、Hiveのデータ定義言語に関するApacheの情報をご覧ください。 |
| 外部テーブルの作成 | このチェックボックスをオンにすると、作成するテーブルが外部Hiveテーブルになります。この種のHiveテーブルは、データがHDFSにある場合、生データをそのまま残します。<br><br>通常、ファイルシステムに存在する共有データにアクセスするには、外部テーブルの方が適しています。<br><br>Hiveのテーブルの詳細は、Hiveに関するApacheのドキュメンテーションをご覧ください。 |
| [Table comment] (テーブルコメント) | 作成するテーブルに使用する説明を入力します。 |
| [As select] (選択として) | このチェックボックスを [Select] (選択)し、Selectステートメントに基づくHiveテーブルを作成するためのAs selectステートメントを入力します。 |
| clustered\_byまたはskewed\_byステートメントの設定 | Clustered byステートメントを入力して、テーブルまたはパーティションのデータをバケットにクラスター化します。 or/andSkewed byステートメントを入力して、Hiveが大きく歪んだデータを抽出し、それを個別のファイルに配置できるようにします。これは通常、クエリ中のパフォーマンスを向上させるために使用されます。 |
| [SerDe properties] (SerDeプロパティ) | SerDe行形式を使用している場合は、カスタムSerDeプロパティを追加して、Talend StudioのHadoopエンジンで使用されるデフォルトのプロパティを上書きできます。 |
| [Table properties] (テーブルのプロパティ) | Talend StudioのHadoopエンジンで使用されるデフォルトのプロパティをオーバーライドするカスタムHiveテーブルプロパティを追加します。 |
| [Temporary path] (一時パス) | クエリーselect \* from your\_table\_nameを実行する時にJobtrackerとNameNodeを設定しない場合は、この一時パスを設定する必要があります。たとえば、Windowsでは*/C:/select\_all*になります。 |
| [Hadoop properties] (Hadoopプロパティ) | *Talend Studio* では、Hadoopディストリビューションの処理を実行するエンジンに、デフォルト設定を使用しています。特定の場合にカスタム設定を使用する必要がある場合は、カスタマイズするプロパティをこのテーブルで設定します。設定後、カスタマイズしたプロパティによってこれらのデフォルトのプロパティが実行時に上書きされます。<br><br><ul> <li> <p><span>[Repository] (リポジトリー)</span>に一元的に保管されたメタデータを使用している場合、テーブルにはそのメタデータで定義されたプロパティが自動的に継承されます。<span>[Property type] (プロパティタイプ)</span>を<span>[Repository] (リポジトリー)</span>から<span>[Built-in] (組み込み)</span>に変更しないと、テーブルは編集できなくなります。</p> </li> </ul><br><br>Hadoopやその関連システム(HDFS、Hiveなど)で必要なプロパティの詳細は、使用しているHadoopディストリビューションのドキュメンテーションか、[ApacheのHadoopドキュメンテーション](http://hadoop.apache.org/docs)をご覧になって、必要なバージョンのドキュメンテーションを選択してください。以下のリンクでは、一部のプロパティについて実例を紹介しています。<br><br><ul> <li> <p>通常、HDFS関連のプロパティは、 <a href="http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml" target="_blank">http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml</a>など、ディストリビューションの<em>hdfs-default.xml</em>ファイル内にあります。</p> </li> <li> <p>Apacheは、<a href="https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties" target="_blank">Hive関連のプロパティ</a>をリスト表示するページも提供しています。</p> </li> </ul> |
| [Hive properties] (Hiveプロパティ) | *Talend Studio*では、Hiveデータベースの処理を実行するエンジンに、デフォルト設定を使用しています。特定の場合にカスタム設定を使用する必要がある場合は、カスタマイズするプロパティをこのテーブルで設定します。設定後、カスタマイズしたプロパティによってこれらのデフォルトのプロパティが実行時に上書きされます。詳細は、[Hive専用のプロパティ](https://cwiki.apache.org/confluence/display/Hive/AdminManual+Configuration)をご覧ください。<br><br><ul> <li>Tezを使用してHiveジョブを実行する必要がある場合は、<span>hive.execution.engine</span>を<span>Properties</span>カラムに、<span>Tez</span>を<span>[Value] (値)</span>カラムに追加し、これらの文字列をどちらも二重引用符で囲みます。</li> <li> <p><span>[Repository] (リポジトリー)</span>に一元的に保管されたメタデータを使用している場合、テーブルにはそのメタデータで定義されたプロパティが自動的に継承されます。<span>[Property type] (プロパティタイプ)</span>を<span>[Repository] (リポジトリー)</span>から<span>[Built-in] (組み込み)</span>に変更しないと、テーブルは編集できなくなります。</p> </li> </ul> |
| [Mapred job map memory mb] (MapredジョブMapメモリmb)および[Mapred job reduce memory mb] (MapredジョブReduceメモリmb) | [Set memory] (メモリのセット)チェックボックスをオンにしてHadoopシステムでの計算実行で適切なメモリ割り当てをセットし、マッピングを調整して計算を減らすことができます。<br><br>このような場合は、必要な値を[Mapred job map memory mb] (MapredジョブのMapメモリMB)フィールドと[Mapred job reduce memory mb] (MapredジョブのReduceメモリMB)フィールドにそれぞれ入力してください。デフォルトでは、いずれのフィールドも通常は計算の実行に適切な*1000*に設定されています。<br><br>設定するメモリパラメーターは[Map (in Mb)]、[Reduce (in Mb)]、[ApplicationMaster (in Mb)]です。これらのフィールドは、MapとReduceの計算、およびYARNのApplicationMasterに動的にメモリを割り当てることができます。 |
| [Path separator in server] (サーバーのパス区切り) | サーバーのパス区切りのデフォルト値はそのままにしておきます。区切りをコロン(:)以外のHadoopディストリビューションのホストマシンで使用されているPATH変数またはその他の単語に変更している場合は除きます。その場合、値はホストで使用しているものに変更する必要があります。 |
| [Set application name] (アプリケーション名を設定) | このチェックボックスをオンにすると、MapReduceやTezでクエリーを実行する時に重複を避けることができます。<br><br>MapReduceではmapred.job.nameが、Tezではhive.query.nameがそれぞれ変更されます。どちらの名前も、プロジェクト名、ジョブ名、ジョブのバージョン、日付、時間を連結したものに修正されます。 |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。 |

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

| 変数 | 説明 |
| --- | --- |
| グローバル変数 | QUERY: 処理されているクエリーステートメント。これはFlow変数で、文字列を返します。<br><br>ERROR\_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。<br><br>Flow変数はコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。<br><br>フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。<br><br>変数の詳細は、[コンテキストと変数を使用](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/contexts-and-variables)をご覧ください。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントはスタンドアロンとして機能します。<br><br>Hiveデータベースへの接続に使用しているTalend StudioがWindowsマシンにインストールされている場合は、Talend Studioがインストールされているディスクのルートに*tmp*というフォルダーを手動で作成する必要があります。 |
| [Dynamic settings] (ダイナミック設定) | [+]ボタンをクリックしてテーブルに行を追加し、[Code] (コード)フィールドにコンテキスト変数を入力して、ジョブ内で計画した複数の接続からデータベース接続をダイナミックに選択します。この機能は、データストラクチャーが同じでデータベースが異なるデータベーステーブルにアクセスする必要がある場合、特に、Talend Studioを介さずにジョブをデプロイおよび実行する必要がある時など、ジョブの設定を変更できない環境で作業している場合に役立ちます。<br><br>[Dynamic settings] (ダイナミック設定)テーブルは、[Basic settings] (基本設定)ビューで[Use an existing connection] (既存の接続を使用)チェックボックスがオンになっている時のみ利用可能です。ダイナミックパラメーターを定義すると、[Basic settings] (基本設定)ビューの[Component List] (コンポーネントリスト)ボックスは利用できなくなります。<br><br>ダイナミックパラメーターの定義法を示すユースケースについては、[コンテキストベースのダイナミック接続によってデータベースからデータを読み取り](https://help.qlik.com/talend/r/ja-JP/8.0/components/defining-context-groups/reading-data-from-databases-through-context-based-dynamic-connections)と、[ダイナミックにロードされた接続パラメーターを使って異なるMySQLデータベースからデータを読み取り](https://help.qlik.com/talend/r/ja-JP/8.0/components/context/reading-data-from-different-mysql-databases-using-dynamically-loaded-connection-parameters)をご覧ください。ダイナミック設定とコンテキスト変数の詳細は、[ダイナミックスキーマ](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/dynamic-schema)と[コンテキストグループを作成し、その中でコンテキスト変数を定義](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/creating-context-group-and-define-context-variables-in-it)をご覧ください。 |
| 前提条件 | *Talend Studio* との操作を確実に行うには、Hadoopディストリビューションを適切にインストールする必要があります。以下のリストに、MapR関連の情報などを示します。<br><br><ul> <li> <p>MapRクライアントは必ず<span>Talend Studio</span>のあるマシンにインストールして、そのマシンのPATH変数にMapRクライアントライブラリーを追加します。MapRのドキュメンテーションによると、各OSバージョンに対応するMapRクライアントのライブラリーは、<em>MAPR_INSTALL\ hadoop\hadoop-VERSION\lib\native</em>にあります。たとえば、Windows版のライブラリーは、<em>\lib\native\MapRClient.dll</em>にあるMapRクライアントのjarファイルにあります。</p> <p>指定のライブラリーを追加しないと、<span>no MapRClient in java.library.path</span>というエラーが発生する可能性があります。</p> </li> <li> <p>たとえば、<span>[Window] (ウィンドウ)</span>メニューの<span>[Preferences] (環境設定)</span>ダイアログボックスにある<span>[Run/Debug] (実行/デバッグ)</span>ビューの<span>[Job Run VM arguments] (ジョブ実行VMの引数)</span>エリアで、<span>-Djava.library.path</span>引数を設定します。この引数により、そのMapRクライアントのネイティブライブラリーへのパスが<span>Talend Studio</span>に渡されるので、サブスクリプションベースのユーザーは<span>データビューアー</span>をフルに活用して、MapRに保存されたデータを<span>Talend Studio</span>でローカルに表示できます。</p> </li> </ul><br><br>Hadoopディストリビューションのインストール方法の詳細は、使用しているHadoopディストリビューションに対応するマニュアルを参照してください。 |

**関連概念**

* [Azure HDInsight HiveへのJDBC接続を作成する](https://help.qlik.com/talend/ja-JP/components/8.0/hive/thiveconnection-thiveload-thivecreatetable-thdfsoutput-creating-jdbc-connection-to-azure-hdinsight-hive-standard-component-this)
* [パーティショニングされたHiveテーブルの作成](https://help.qlik.com/talend/ja-JP/components/8.0/hive/thiveconnection-thiveload-thivecreatetable-thdfsoutput-creating-partitioned-hive-table-standard-component-this)