# tHDFSOutputRaw

単一カラム形式の階層データなど、さまざまな形式のデータを特定のHDFSファイルシステムに転送します。

tHDFSOutputRawは、単一カラムの入力フローを受け取り、データをHDFSに書き込みます。

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

## tHDFSOutputRawの標準プロパティ

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

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

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

## 基本設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| プロパティタイプ | 接続の詳細を設定する方法を選択します。<br><br><ul> <li> <p> <span>[Built-In] (組み込み)</span>: このコンポーネントの接続の詳細がローカルに設定されます。関連するすべての接続のプロパティ値を手動で指定する必要があります。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: <span><span>[Repository] (リポジトリー)</span><abbr> &gt; </abbr><span>[Metadata] (メタデータ)</span></span>で一元的に保存された接続の詳細が、このコンポーネントによって再使用されます。 </p> <p>このチェックボックスの横にある <span>[...]</span> ボタンをクリックし、表示された <span>[Repository Content] (リポジトリーのコンテンツ)</span>ダイアログボックスで、再使用する接続の詳細をオンにすると、関連するすべての接続のプロパティに値が自動的に入力されます。</p> </li> </ul> |
| [Schema] (スキーマ)と[Edit Schema] (スキーマを編集) | スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。<br><br>このコンポーネントのスキーマは読み取り専用です。[Edit schema] (スキーマを編集)をクリックすると、スキーマを表示できます。<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> |
| *[Use an existing connection] (既存の接続を使用)* | このチェックボックスをオンにして、[Component List] (コンポーネントリスト)で、定義済みの接続詳細を再利用するHDFS接続コンポーネントをクリックします。<br><br>ジョブに親ジョブと子ジョブが含まれている場合、[Component List] (コンポーネントリスト)には同じジョブレベルの接続コンポーネントのみが表示されます。 |
| [Hadoop version] (Hadoopのバージョン) | 使用しているディストリビューションのHadoopバージョンを選択します。 |
| [Scheme] (スキーム) | [Scheme] (スキーム)ドロップダウンリストから、使用するファイルシステムのURIスキームを選択します。このスキームは<br><br><ul> <li>HDFS</li> <li>WebHDFSである場合があります。WebHDFS with SSLはまだサポートされていません。</li> <li>ADLS サポート対象はAzure Data Lake Storage Gen1のみです。</li> </ul><br><br>このリストにあるスキームは、使用しているディストリビューションによって異なります。また、特定のディストリビューションでこのリストに表示されるスキームのみが、Talendによって正式にサポートされています。<br><br>スキームをオンにすると、WebHDFS用のwebhdfs://localhost:50070/などの対応する構文が、クラスターのNameNodeロケーションのフィールドに表示されます。<br><br>ADLSを選択した場合、定義の必要な接続パラメーターは以下のとおりです。<br><br><ul> <li> <p> <span><span>[Client ID] (クライアントID)</span>フィールドと<span>[Client key] (クライアントキー)</span>フィールドに、開発中である現行のジョブがAzure Data Lake Storageへのアクセスに使うアプリケーションを登録する際に生成された認証IDと認証キーをそれぞれ入力します。</span> </p> <p>使用するアプリケーションにAzure Data Lakeへのアクセス権があることを確認します。Azureでこのアプリケーションの[Required permissions] (必要な権限)ビューをチェックしてください。詳細は、Azureのドキュメンテーションである<a href="https://docs.microsoft.com/en-us/azure/data-lake-store/data-lake-store-service-to-service-authenticate-using-active-directory#step-3-assign-the-azure-ad-application-to-the-azure-data-lake-store-account-file-or-folder" target="_blank">Assign the Azure AD application to the Azure Data Lake Storage account file or folder</a>をご覧ください。</p> </li> <li> <p> <span><span>[Token endpoint] (トークンエンドポイント)</span>フィールドで、Azureポータルの<span>[App registrations] (アプリの登録)</span>ページの<span>[Endpoints] (エンドポイント)</span>リストから取得できるOAuth 2.0トークンエンドポイントをコピーして貼り付けます。</span> </p> </li> </ul><br><br><br>デモンストレーション動画については、[Configure and use Azure in a Job](https://www.youtube.com/watch?v=Ww9-sp5Kd1o)をご覧ください。 |
| [NameNode URI] (ネームノードURI) | Hadoopシステムのマスターノード、Hadoop NameNodeのURIを入力します。たとえば、NameNodeとして*masternode*という名前のマシンを選択した場合、その場所はhdfs://masternode:portnumberになります。 WebHDFSを使用している場合、ロケーションはwebhdfs://masternode:portnumberとなります。WebHDFS with SSLはまだサポートされていません。 |
| [Use Kerberos authentication] (Kerberos認証を使用) | Kerberosセキュリティを実行しているHadoopクラスターにアクセスする場合は、このチェックボックスをオンにし、表示されるフィールドにネームノードとしてKerberosのプリンシパル名を入力します。これにより、ユーザー名を使って、Kerberosに保存された認証情報に対して認証を実行できます。<br><br>このチェックボックスは、接続しているHadoopのディストリビューションによっては、表示されないことがあります。 |
| MapRチケットを使用した認証 | MapRチケットを使用して認証するには、このチェックボックスをオンにして、次の情報を入力します。<br><br><ul> <li><span>ユーザー名</span>: ユーザー名を入力します。</li> <li><span>グループ</span>: グループの名前を入力します。</li> <li><span>パスワード</span>: パスワードを入力してMapRチケットを認証します。</li> <li><span>クラスター名</span>: 使用したいクラスターの名前を入力します。</li> <li><span>チケットの有効期間</span>: チケットの有効期間(秒単位)を入力します。例: <span>86400L</span>(<span>L</span>は長整数に相当)</li> </ul> |
| [Use a keytab to authenticate] (Keytabを認証に使用) | [Use a keytab to authenticate] (Keytabを認証に使用)チェックボックスをオンにして、所定のkeytabファイルを使ってKerberos対応のシステムにログインします。keytabファイルには、Kerberosのプリンシパルと暗号化されたキーのペアが含まれています。使用するプリンシパルを[Principal] (プリンシパル)フィールドに入力し、keytabファイルへのアクセスパスを[Keytab] フィールドに入力します。このキータブファイルは、ジョブが実際に実行されているマシン(Talend JobServerなど)に保存する必要があります。<br><br>keytabが有効なジョブは、プリンシパルに任命されたユーザーでなくても実行できますが、使用するkeytabファイルの読み取り権限が必要です。たとえば*user1*というユーザー名でジョブを実行し、使用するプリンシパルが*guest*の場合、*user1*に使用するキータブファイルの読み取り権限があることをご確認ください。 |
| [Use datanode hostname] (データノードホスト名を使用) | [Use datanode hostname] (データノードホスト名を使用)チェックボックスをオンにして、これらのホスト名によるデータノードへのアクセスをジョブに許可します。これは、実際には*dfs.client.use.datanode.hostname*プロパティを*true*に設定しています。S3Nファイルシステムに接続する場合、このチェックボックスをオンにする必要があります。 |
| User name (ユーザー名) | [User name] (ユーザー名)フィールドは、認証にKeroberosを使っていない場合に利用できます。[User name] (ユーザー名)フィールドに、ディストリビューションにログインするためのユーザー名を入力します。このフィールドを空白のままにすると、Talend Studioをホストするマシンのユーザー名が使用されます。 |
| グループ | HDFSインスタンスが起動された認証ユーザーを含めたメンバーシップを入力します。このフィールドは、使用しているHadoopのディストリビューションによっては、表示されないこともあります。 |
| [File name] (ファイル名) | データを書き込むファイルに移動するか、またはファイルのロケーションを入力します。このファイルが存在しない場合は、自動的に作成されます。 |
| [Action] (アクション) | ファイルに対して実行するアクションを選択します。<br><br><ul> <li><span>[Create] (作成)</span>: <span>[File name] (ファイル名)</span>フィールドで定義されたファイル名を使用して、データを含むファイルを作成します。</li> <li><span>[Overwrite] (上書き)</span>: <span>[File name] (ファイル名)</span>フィールドで指定されたファイルのデータを上書きします。</li> <li><span>[Append] (追加)</span>: <span>[File name] (ファイル名)</span>フィールドで指定されたファイルにデータを挿入します。指定したファイルが存在しない場合は、自動的に作成されます。</li> </ul> |
| [Custom encoding] (カスタムエンコーディング) | 保管データを処理する際、エンコーディングの問題が発生することがあります。このような場合は、チェックボックスをオンにして[Encoding] (エンコーディング)リストを表示します。<br><br>リストからエンコーディングを選択するか、[CUSTOM] (カスタム)を選択して、手動で定義します。このフィールドはデータベースデータ処理の必須フィールドです。サポートされるエンコーディングは、使用しているJVMに応じて異なります。詳細は、[https://docs.oracle.com](https://docs.oracle.com/)をご覧ください。<br><br>このオプションはシーケンスファイルでは使用できません。 |
| [Compression] (圧縮) | [Compress the data] (データの圧縮)チェックボックスをオンにすると、出力データが圧縮されます。<br><br>Hadoopではファイルの保存に必要な領域を削減し、データ転送を高速化するための圧縮形式が異なります。圧縮ファイルを読み取る場合、Talend Studioでは入力フローにフィードする前に展開する必要があります。<br><br>書き込まれるファイルの種類がシーケンスファイルの場合、圧縮アルゴリズムはこのシーケンスファイルのコンテナーファイル(*part-*ファイル)内に組み込まれていることにご注意ください。これらのファイルは、MapReduceジョブ内のtHDFSInputなどの Talend コンポーネントやシーケンスファイル形式を読み取れる他のアプリケーションで読むことができます。またはタイプがText File (テキストファイル)の場合、出力ファイルには*bzip2*または*gzip*コンテナーファイルを読み取れる標準の圧縮ユーティリティを使用してアクセスできます。 |
| [Die on error] (エラー発生時に強制終了) | このチェックボックスをオンにすると、エラー発生時にジョブの実行が停止されます。<br><br>エラーの発生した行をスキップし、エラーが発生していない行の処理を完了するには、このチェックボックスをオフにします。エラーをスキップしたら、[Row] (行)&gt; [Reject] (リジェクト)リンクを使用してエラーの発生した行を収集できます。 |

## 詳細設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| [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> |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。 |

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

| 変数 | 説明 |
| --- | --- |
| グローバル変数 | FILENAME\_PATH: 入力ファイルのパス。これはAfter変数で、文字列を返します。<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)をご覧ください。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントには、単一カラムのデータを提供する入力コンポーネントが必要です。このカラムには *[content] (コンテンツ)*のラベルを付ける必要があり、そのタイプは[Object] (オブジェクト)である必要があります。<br><br>たとえば次の操作が可能です。<br><br><ul> <li><span>tHMap</span>を使用して、この単一のカラムを提供します。</li> <li><span>tConvertType</span>を使用して、カラムを<span>[String] (文字列)</span>から <span>[Object] (オブジェクト)</span>に変換するか、または</li> <li><span>tJavaRow</span>を使用して、処理するデータを <em>globalMap</em>オブジェクトに追加し、このデータが<span>tFixedFlowInput</span>などの他のコンポーネントのグローバル変数として使用できるようにして、この必要なシングルのカラムを作成します。 </li> </ul><br><br>tHMapの詳細は、[tHMap](https://help.qlik.com/talend/ja-JP/components/8.0/data-mapping/thmap)をご覧ください。<br><br>tConvertTypeの詳細は、[tConvertType](https://help.qlik.com/talend/ja-JP/components/8.0/processing/tconverttype)をご覧ください。<br><br>tJavaRowの詳細は、[tJavaRow](https://help.qlik.com/talend/ja-JP/components/8.0/java-custom-code/tjavarow)をご覧ください。<br><br>tFixedFlowInputの詳細は、[tFixedFlowInput](https://help.qlik.com/talend/ja-JP/components/8.0/tfixedflowinput/tfixedflowinput)をご覧ください。<br><br>グローバル変数の使用方法は、[コンテキストと変数を使用](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/contexts-and-variables)をご覧ください。 |
| [Dynamic settings] (ダイナミック設定) | [+]ボタンをクリックしてテーブルに行を追加し、[Code] (コード)フィールドにコンテキスト変数を入力して、ジョブ内で計画した複数の接続からHDFS接続をダイナミックに選択します。この機能は、異なるHDFSシステムまたは異なるディストリビューション内のファイルにアクセスする必要がある場合、特に、 *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ディストリビューションに対応するマニュアルを参照してください。 |