tHDFSOutputRaw標準プロパティ - 7.2

HDFS

EnrichVersion
7.2
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Open Studio for Big Data
Talend Real-Time Big Data Platform
EnrichPlatform
Talend Studio
task
ジョブデザインと開発 > サードパーティーシステム > ファイルコンポーネント > HDFS
データガバナンス > サードパーティーシステム > ファイルコンポーネント > HDFS
データクオリティとプレパレーション > サードパーティーシステム > ファイルコンポーネント > HDFS

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

Standard tHDFSOutputRawコンポーネントは、ビッグデータファミリーのコンポーネントです。

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

基本設定

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

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

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

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

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

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

このコンポーネントのスキーマは読み取り専用です。[Edit schema] (スキーマの編集)をクリックすると、スキーマを表示できます。

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

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

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

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

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

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

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

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

  • Amazon EMRを選択している場合は、Talendヘルプセンター(https://help.talend.com)でAmazon EMRを開始する方法を参照してください。

  • [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を参照してください。

[Version] (バージョン)

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

[Scheme] (スキーム) 使用するファイルシステムのURIスキームを[Scheme] (スキーム)ドロップダウンリストから選択します。このスキームは
  • 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トークンエンドポイントをコピーして貼り付けます。

デモンストレーションビデオについては、ジョブ内でAzureを設定して使用するを参照してください。

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に保存された認証情報に対して認証を実行できます。
  • このクラスターが5.0.0バージョン以上のMapRクラスターである場合、bml1550477845359.htmlに記載の説明に従って、MapRチケット認証設定を追加または代替として設定できます。

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

このチェックボックスは、接続している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 datanode hostname] (データノードホスト名を使用)

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

[User name] (ユーザー名)

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

グループ

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

[File name] (ファイル名)

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

アクション

HDFSでオペレーションを選択します。

[Create] (作成): [File name] (ファイル名)フィールドで定義されたファイル名を使用して、データを含むファイルを作成します。

[Overwrite] (上書き): [File name] (ファイル名)フィールドで指定されたファイルのデータを上書きします。

[Append] (追加): [File name] (ファイル名)フィールドで指定されたファイルにデータを挿入します。指定したファイルが存在しない場合は、自動的に作成されます。

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

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

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

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

[Compression] (圧縮)

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

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

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

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

このチェックボックスをオンにすると、エラー発生時にジョブの実行が停止されます。

エラーの発生した行をスキップし、エラーが発生していない行の処理を完了するには、このチェックボックスをオフにします。エラーをスキップしたら、[Row] (行)> [Reject] (リジェクト)リンクを使用してエラーの発生した行を収集できます。

詳細設定

[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統計)

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

グローバル変数

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

FILENAME_PATH: 入力ファイルのパス。これはAfter変数で、文字列を返します。

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

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

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

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

使用方法

使用ルール

このコンポーネントには、単一カラムのデータを提供する入力コンポーネントが必要です。このカラムには [content] (コンテンツ)のラベルを付ける必要があり、そのタイプは[Object] (オブジェクト)である必要があります。

たとえば次の操作が可能です。

  • tHMapを使用して、この単一のカラムを提供します。
  • tConvertTypeを使用して、カラムを[String] (文字列)から [Object] (オブジェクト)に変換するか、または
  • tJavaRowを使用して、処理するデータを globalMapオブジェクトに追加し、このデータがtFixedFlowInputなどの他のコンポーネントのグローバル変数として使用できるようにして、この必要なシングルのカラムを作成します。

tHMapの詳細は、 qlg1550478028192.htmlを参照してください。

tConvertType,の詳細は、lsp1550477908789.htmlを参照してください。

tJavaRowの詳細は、gnx1550478089820.htmlを参照してください。

tFixedFlowInputの詳細は、mdc1550478047155.htmlを参照してください。

グローバル変数の使用方法の詳細は、Talend Studioユーザーガイドでコンテキストと変数の使用方法を説明するセクションを参照してください。

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

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

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

動的パラメーターの使用サンプルは、tjp1550477832371.htmlおよびsmc1550477832451.htmlを参照してください。[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ディストリビューションに対応するマニュアルを参照してください。