tHDFSOutputの標準プロパティ - Cloud - 8.0

HDFS

Version
Cloud
8.0
Language
日本語
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > ファイルコンポーネント > HDFS
データガバナンス > サードパーティーシステム > ファイルコンポーネント > HDFS
データクオリティとプレパレーション > サードパーティーシステム > ファイルコンポーネント > HDFS
Last publication date
2024-02-28

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

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

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

基本設定

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

[Built-in] (組み込み)[Repository] (リポジトリー)のいずれかです。

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

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

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

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

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

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

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

  • [Update repository connection] (リポジトリー接続をアップデート): リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。

    変更を現在のジョブにのみ反映する場合は、変更後、[No] (いいえ)を選択し、[Repository Content] (リポジトリーコンテンツ)ウィンドウで再びこのスキーマのメタデータを選択します。

 

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

 

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

[Use an existing connection] (既存の接続を使用)

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

ジョブに親ジョブと子ジョブが含まれている場合、[Component List] (コンポーネントリスト)には同じジョブレベルの接続コンポーネントのみが表示されます。

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

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

  • Amazon EMRを選択している場合は、Amazon EMR - Getting Startedで詳細をご覧ください。

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

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

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

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

    注:

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

    カスタムディストリビューションの接続方法、および接続の共有方法のステップ例は、Hortonworksをご覧ください。

[Version] (バージョン)

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

[Scheme] (スキーム) [Scheme] (スキーム)ドロップダウンリストから、使用するファイルシステムのURIスキームを選択します。このスキームは
  • HDFS
  • WebHDFSである場合があります。WebHDFS with SSLはまだサポートされていません。
  • ADLS サポート対象はAzure Data Lake Storage Gen1のみです。

このリストにあるスキームは、使用しているディストリビューションによって異なります。また、特定のディストリビューションでこのリストに表示されるスキームのみが、Talendによって正式にサポートされています。

スキームを選択すると、WebHDFS用のwebhdfs://localhost:50070/などの対応する構文が、クラスターのNameNodeロケーションのフィールドに表示されます。

ADLSを選択した場合、定義の必要な接続パラメーターは以下のとおりです。
  • [Client ID] (クライアントID)フィールドと[Client key] (クライアントキー)フィールドに、開発中である現行のジョブがAzure Data Lake Storageへのアクセスに使うアプリケーションを登録する際に生成された認証IDと認証キーをそれぞれ入力します。

    使用するアプリケーションにAzure Data Lakeへのアクセス権があることを確認します。Azureでこのアプリケーションの[Required permissions] (必要な権限)ビューをチェックしてください。詳細は、AzureのドキュメンテーションであるAssign the Azure AD application to the Azure Data Lake Storage account file or folderをご覧ください。

  • [Token endpoint] (トークンエンドポイント)フィールドで、Azureポータルの[App registrations] (アプリの登録)ページの[Endpoints] (エンドポイント)リストから取得できるOAuth 2.0トークンエンドポイントをコピーして貼り付けます。

デモンストレーション動画については、Configure and use Azure in a Jobをご覧ください。

[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に保存された認証情報に対して認証を実行できます。

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

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

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

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

[User name] (ユーザー名)

[User name] (ユーザー名)フィールドは、認証にKeroberosを使っていない場合に利用できます。[User name] (ユーザー名)フィールドに、ディストリビューションにログインするためのユーザー名を入力します。このフィールドを空白のままにすると、Talend Studioをホストするマシンのユーザー名が使用されます。

グループ

HDFSインスタンスが起動された認証ユーザーを含めたメンバーシップを入力します。このフィールドは、使用しているHadoopのディストリビューションによっては、表示されないことがあります。

[File name] (ファイル名)

データを書き込むファイルに移動するか、またはファイルのロケーションを入力します。このファイルが存在しない場合は、自動的に作成されます。

Type (タイプ)

処理するファイルのタイプを選択します。ファイルのタイプは以下の場合があります。
  • [Text file] (テキストファイル)

  • [Sequence file] (シーケンスファイル): Hadoopシーケンスファイルはバイナリキー-値ペアで構成されており、Map/Reduceのフレームワークに適しています。詳細は、http://wiki.apache.org/hadoop/SequenceFileをご覧ください。

    [Sequence file] (シーケンスファイル)形式を選択したら、[Key column] (キーカラム)リストと[Value column] (値カラム)リストが表示され、処理するそのシーケンスファイルのキーと値を選択できます。

[Action] (アクション)

ファイルに対して実行するアクションを選択します。
  • [Create] (作成): [File name] (ファイル名)フィールドで定義されたファイル名を使用して、データを含むファイルを作成します。
  • [Overwrite] (上書き): [File name] (ファイル名)フィールドで指定されたファイルのデータを上書きします。
  • [Append] (追加): [File name] (ファイル名)フィールドで指定されたファイルにデータを挿入します。指定したファイルが存在しない場合は、自動的に作成されます。

[Row separator] (行区切り)

行の終端を識別するために使用される区切り。

このフィールドはシーケンスファイルでは使用できません。

[Field separator] (フィールド区切り)

転送されたデータのフィールドを区切る場合は、文字、文字列、正規表現のいずれかを入力します。

このフィールドはシーケンスファイルでは使用できません。

[Custom encoding] (カスタムエンコーディング)

保管データを処理する際、エンコーディングの問題が発生することがあります。このような場合は、チェックボックスをオンにして[Encoding] (エンコーディング)リストを表示します。

リストからエンコーディングを選択するか、[CUSTOM] (カスタム)を選択して、手動で定義します。このフィールドはデータベースデータ処理の必須フィールドです。サポートされるエンコーディングは、使用しているJVMに応じて異なります。詳細は、https://docs.oracle.comをご覧ください。

このオプションはシーケンスファイルでは使用できません。

[Compression] (圧縮)

[Compress the data] (データの圧縮)チェックボックスをオンにすると、出力データが圧縮されます。

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

書き込まれるファイルの種類がシーケンスファイルの場合、圧縮アルゴリズムはこのシーケンスファイルのコンテナーファイル(part-ファイル)内に組み込まれていることにご注意ください。これらのファイルは、MapReduceジョブ内のtHDFSInputなどの Talend コンポーネントやシーケンスファイル形式を読み取れる他のアプリケーションで読むことができます。またはタイプがText File (テキストファイル)の場合、出力ファイルにはbzip2またはgzipコンテナーファイルを読み取れる標準の圧縮ユーティリティを使用してアクセスできます。

[Include header] (ヘッダーを含める)

データのヘッダーを出力するには、このチェックボックスをオンにします。

このオプションはシーケンスファイルでは使用できません。

詳細設定

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

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

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

[tStatCatcher Statistics] (tStatCatcher統計)

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

グローバル変数

グローバル変数

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

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

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

変数の詳細は、コンテキストと変数を使用をご覧ください。

使用方法

使用ルール

このコンポーネントは、入力コンポーネントである必要があります。

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

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

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

ダイナミックパラメーターの定義法を示すユースケースについては、コンテキストベースのダイナミック接続によってデータベースからデータを読み取りと、ダイナミックにロードされた接続パラメーターを使って異なるMySQLデータベースからデータを読み取りをご覧ください。ダイナミック設定とコンテキスト変数の詳細は、ダイナミックスキーマコンテキストグループを作成し、その中でコンテキスト変数を定義をご覧ください。

前提条件

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

  • MapRクライアントは必ずTalend Studioのあるマシンにインストールして、そのマシンのPATH変数にMapRクライアントライブラリーを追加します。MapRのドキュメンテーションによると、各OSバージョンに対応するMapRクライアントのライブラリーは、MAPR_INSTALL\ hadoop\hadoop-VERSION\lib\nativeにあります。たとえば、Windows版のライブラリーは、\lib\native\MapRClient.dllにあるMapRクライアントのjarファイルにあります。

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

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

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

制限事項

JRE 1.6+が必要です。