tHBaseInput MapReduceプロパティ(非推奨) - 7.3

HBase

Version
7.3
Language
日本語 (日本)
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Open Studio for Big Data
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > NoSQLコンポーネント > HBase
データガバナンス > サードパーティーシステム > NoSQLコンポーネント > HBase
データクオリティとプレパレーション > サードパーティーシステム > NoSQLコンポーネント > HBase

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

MapReduce tHBaseInputコンポーネントはMapReduceファミリーとデータベースファミリーのコンポーネントです。

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

MapReduceのフレームワークは、Talend 7.3以降非推奨となります。Apache SparkのTalendジョブを使って、統合タスクを実行します。

基本設定

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

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

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

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

このアイコンをクリックすると、データベース接続ウィザードが開き、コンポーネント[Basic settings] (基本設定)ビューに設定したデータベース接続パラメーターが保存されます。

データベース接続パラメーターの設定と保管の詳細は、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を参照してください。

このコンポーネントのMap/Reduceバージョンでは、選択するディストリビューションは、ジョブ全体の[Hadoop configuration] (Hadoop設定)ビューで定義する必要のあるディストリビューションと同じである必要があります。

HBaseバージョン

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

ディストリビューションのHadoopバージョン

Studioによってまだ正式にサポートされていないクラスターへの接続用に、ディストリビューションリストから[Custom] (カスタム)を選択した場合にしか、このリストは表示されません。その場合、このカスタムクラスターのHadoopバージョン、つまりHadoop 1またはHadoop 2を選択する必要があります。

[Zookeeper quorum] (Zookeeperクォーラム)

Studioとデータベース間のトランザクションを調整するZookeeperサービスの名前またはURLを入力します。Zookeeperを設定する時に、zookeeper.znode.parentプロパティを明示的に設定して、作成されてデータベースで使用されているすべてのznodeを含むルートznodeへのパスを定義しなければならない場合があります。次に、[Set Zookeeper znode parent] (親zookeeper znodeの設定)チェックボックスをオンにして、このプロパティを定義します。

[Zookeeper client port] (Zookeeperクライアントポート)

使用しているZookeeperサービスのクライアントリスニングポートの数を指定します。

[Use Kerberos authentication] (Kerberos認証を使用)

使用するデータベースでKerberosセキュリティを実行する場合は、このチェックボックスをオンにし、表示されたフィールドにプリンシパル名を入力します。この情報は、使用するクラスターのhbase-site.xmlファイルの中にあります。
  • このクラスターが5.0.0バージョン以上のMapRクラスターである場合、セキュリティ対応MapRへの接続に記載の説明に従って、MapRチケット認証設定を追加または代替として設定できます。

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

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

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

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

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

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

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

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

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

 

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

 

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

テーブルネームスペースマッピングの設定

Apache HBaseテーブルとMapRテーブルの間のマッピングを構成するために使用する文字列を入力します。

使用できる有効な構文については、http://doc.mapr.com/display/MapR40x/Mapping+Table+Namespace+Between+Apache+HBase+Tables+and+MapR+Tablesを参照してください。

[Table name] (テーブル名)

カラムを抽出するテーブルの名前を入力します。

Mapping (マッピング)

このテーブルに入力して、処理するデータフロー用に定義されているスキーマカラムに使うテーブルのカラムをマップします。

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

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

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

詳細設定

[Properties] (プロパティ)

データベースにカスタム設定を使用する必要がある場合は、カスタマイズするプロパティをこのテーブルで設定します。カスタマイズされたプロパティは、ランタイムに、Studioによって使用される対応するプロパティを上書きします。

たとえば、データベースの設定で、dfs.replicationプロパティの値を1に定義する必要があります。次に、プラスボタンを使用してこのテーブルに1行を追加し、このプロパティの名前と値をこの行に入力する必要があります。

Is by filter (フィルターによる)

このチェックボックスをオンにして、フィルターを使用して、正規表現をベースとするキーまたは値の選択など、データベースからきめ細かいデータ選択を行います。

選択すると、フィルタリング条件の定義に使用する[Filter] (フィルター)テーブルが使用できるようになります。

この機能はHBaseから提供されているフィルターを利用しており、Apache HBaseのドキュメンテーションで説明されている制約を受けます。したがって、これらのフィルターをフルに活用するには、HBaseに関する高度な知識が必要です。

Logical operation (論理演算)
フィルター間の論理関係を定義するために使用する必要のあるオペレーターを選択します。使用可能なオペレーターは次のとおりです。
  • And: 定義したすべてのフィルタリング条件が満たされる必要があります。関係 FilterList.Operator.MUST_PASS_ALLを表します。

  • Or: 定義済みフィルタリング条件の少なくとも1つが満たされる必要があります。関係: FilterList.Operator.MUST_PASS_ONEを表します。

[Filter] (フィルター)
このテーブルの下にあるボタンをクリックし、必要な行数を追加します。各行は1つのフィルターを表しています。フィルターに設定する必要のあるパラメーターは、次のとおりです。
  • [Filter type] (フィルタータイプ): ドロップダウンリストは、HBaseによって定義済みの既存のフィルタータイプを示します。使用する必要のあるフィルターのタイプを選択します。

  • [Filter column] (フィルターカラム): アクティブなフィルターを適用する必要のあるカラム修飾子を入力します。このパラメーターは、使用しているフィルターやコンパレーターのタイプによっては必須となります。たとえば、[Row Filter] (行フィルター)タイプでは不要ですが、[Single Column Value Filter] (単一カラム値フィルター)タイプでは必須です。

  • [Filter family] (フィルターファミリー): アクティブなフィルターを適用する必要のあるカラムファミリーを入力します。このパラメーターは、使用しているフィルターやコンパレーターのタイプによっては必須となります。たとえば、[Row Filter] (行フィルター)タイプでは不要ですが、[Single Column Value Filter] (単一カラム値フィルター)タイプでは必須です。

  • [Filter operation] (フィルターオペレーション): アクティブなフィルターに使用するオペレーションをドロップダウンリストから選択します。

  • [Filter Value] (フィルター値): [Filter operation] (フィルターオペレーション)ドロップダウンリストから選択したオペレーターを使用する時の値を入力します。

  • [Filter comparator type] (Filterコンパレータータイプ): 使用しているフィルターと組み合わせるコンパレーターのタイプを選択します。

使用している[Filter type] (フィルタータイプ)によっては、パラメーターの一部またはすべてが必須となります。詳細は、HBaseフィルターを参照してください。

グローバル変数

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

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

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

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

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

使用方法

使用ルール

Talend Map/Reduceジョブでは開始コンポーネントとして使用され、出力リンクとして変換コンポーネントが必要になります。一緒に使用される他のコンポーネントもMap/Reduceコンポーネントでなければなりません。Hadoopで直接実行できるネイティブMap/Reduceコードを生成します。

[Run] (実行)ビューの[Hadoop Configuration] (Hadoop設定)タブを使用して、ジョブ全体で特定のHadoopディストリビューションに対する接続を定義する必要があります。

ジョブ全体に使用するHadoop設定と、このコンポーネントに使用するHadoopディストリビューションは同じにしなければなりません。実際には、Hadoopディストリビューションパラメーターを個別に定義して、コンポーネントを使用する場合にのみデータベースドライバーを起動することが求められます。

Talend Map/Reduceジョブの詳細は、『 Talend Open Studio for Big Data入門ガイド 』の Talend Map/Reduceジョブを作成、変換、設定する方法の項目を参照してください。

本書では、特に明記されていない限り、[Standard] (標準)ジョブ、つまり従来の Talend データ統合ジョブ、およびMap/Reduce以外のジョブのシナリオで説明しています。

前提条件

始める前に、データベースで想定されているループバックIPの前提条件を満たしていることをご確認ください。

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

[Hadoop Connection] (Hadoop接続)

[Run] (実行)ビューの[Hadoop Configuration] (Hadoop設定)タブを使用して、ジョブ全体で特定のHadoopディストリビューションに対する接続を定義する必要があります。

この接続は、ジョブごとに有効になります。