HBase テーブル データ登録

重要 このステップは廃止されています。

このステップは変数を HBase テーブルに保存する操作を行います。接続設定はステップで設定されます。

以下の説明は、ユーザーが HBase クラスタの一般的なアーキテクチャを理解していることを前提としています。データがどのように HBase テーブルに挿入されるかについては、以下の記載内容を参照してください。

プロパティ

以下のプロパティを使用して [HBase テーブル データ登録] を設定できます。

ZooKeeper Quorum ホスト名

HBase へのアクセス管理を行う、基礎的な ZooKeeper Quorum への接続に使用されるホスト名のリスト。Quorum は、変数が保存されるテーブルを持つ HBase マスターへのアクセスを与える必要があります。値については、選択することやデザイン時にハードコーディングすることができます。あるいは、変数、式またはコンバータを使用して、ランタイム時に動的にリストを作成することもできます。ロボットの実行時にその名前のデータベースが存在しない場合は、エラーが発生します。

HBase テーブル

どの HBase テーブルに変数を保存するかをコントロールします。値については、選択することやデザイン時にハードコーディングすることができます。あるいは、変数、式またはコンバータを使用して、ランタイム時に動的にテーブル名を作成することもできます。ロボットの実行時にその名前のデータベースが存在しない場合は、エラーが発生します。

列ファミリー

どの列ファミリーに変数を保存するかをコントロールします。値については、選択することやデザイン時にハードコーディングすることができます。あるいは、変数、式またはコンバータを使用して、ランタイム時に動的に列ファミリー名を作成することもできます。ロボットの実行時にその名前のデータベースが存在しない場合は、エラーが発生します。

変数

保存する変数を選択します。この変数はシンプル タイプの変数ではなく、正規変数でなければなりません。

キー

保存される変数の一意のキー。キーは (「データベース キーの一部」として変数をマークすることによって) タイプで定義することも、変数、式またはコンバータを使用して定義することもできます。指定されたキーを持つ値が既に存在する場合、このステップは既存のレコードを更新します。このキーを持つ値が存在しない場合は、新しいレコードが挿入されます。キーに関する重要な情報について、以下の記載内容を参照してください。

デザイン モードで実行

これが有効になっていると、ステップは Design Studio 内部のデザイン モードでも実行されます。これが無効になっていると、ロボットをデザイン モードでナビゲートするときにステップは何も実行しません。

HBase によって保存されるすべてのデータ (キーおよび列名を含む) はバイトの配列であるため、Design Studio は、データをテーブルに挿入する前に UTF-8 エンコーディングを使用してすべてのデータをバイト配列に変換します。

変数データは属性キーで指定されたキーと共に行に書き込まれます。キーが「データベース キーの一部」としてマークされた属性から構成されるように設定されている場合、キーは、下線で区切られた (かつタイプ エディター上と同様に順序付けされた) 属性の値を連結したものになります。たとえば、タイプが Company であり、「データベース キーの一部」としてマークされた 2 つの順序付けされた属性を持つ変数を書き込むとします。

  • Name = Kofax
  • Year = 1999
結果として生成されるキーは Kofax_1999 です。バイナリ属性をキーの一部として選択する場合は、実際の値の代わりに値のハッシュが使用される点に注意してください。さらに、「データベース キーの一部」として使用される属性値に含まれている下線は、二重下線に置き換えられます。

HBase テーブルへのデータの書き込みは、個々の属性の値を、属性の名前と同じ修飾子を持つ列に挿入することによって行われます。列は指定された列ファミリー内に存在します。「データベース キーの一部」として選択されている属性を含む、変数内のすべてのデータは、各行に書き込まれます。「データベースへのデータの保存」セクションに記載された、2 つのハウスホールド フィールド「RobotName」と「ExecutionId」については、ステップが実行されるたびにテーブル内で更新されます。このページに記載される残り 5 つのハウスホールド フィールドはテーブルに保存されません。書き込みに固有のタイムスタンプは選択されません。妥当な値を選択する役割は HBase が担います。上記の例および列ファミリー = cf を使用すると、挿入されるデータは以下のようになります (タイムスタンプは無視します)。Kofax_1999 => [cf:Name = Kofax, cf:Year = 1999, cf:RobotName = XXXX, cf:ExecutionId = YYYY]