この付録では、Sparkナレッジ・モジュールについて説明します。
この章の内容は次のとおりです。
このKMはデータをファイルからSpark Python変数にロードし、実行ユニット、ソース・テクノロジであるファイル、ターゲット・テクノロジであるSpark Pythonの間のAPで定義できます。
次の表は、LKM File to Sparkのオプションについて説明します。
表C-1 LKM File to Spark
オプション | 説明 |
---|---|
ストレージ関数 |
データをロード/保存するのに使用されるストレージ関数。 |
CACHE_DATA |
デフォルト・ストレージ・レベルを使用してデータを永続化します。 |
InputFormatClass |
Hadoop InputFormatのクラス名。 例: org.apache.hadoop.mapreduce.lib.input.TextInputFormat。 |
KeyClass |
キーWritableクラスの完全修飾クラス名。 例: org.apache.hadoop.io.Text。 |
ValueClass |
値Writableクラスの完全修飾クラス名。 例: org.apache.hadoop.io.LongWritable。 |
KeyConverter |
キー・コンバータ・クラスの完全修飾クラス名。 |
ValueConverter |
値コンバータ・クラスの完全修飾クラス名。 |
ジョブ構成 |
Hadoop構成。 例: {'hbase.zookeeper.quorum': 'HOST', 'hbase.mapreduce.inputtable': 'TAB'} |
このLKMは、StreamingContext.textFileStream()メソッドを使用して、ファイル・コンテキストをデータ・ストリームとして転送します。Sparkアプリケーションの実行中、ディレクトリはモニターされます。他の場所からこのディレクトリにコピーされたファイルはすべて削除されます。
表C-2 ストリーミング用のLKM File to Spark
オプション | 説明 |
---|---|
STREAMING_MODE |
このオプションは、マッピングをストリーミング・モードで実行するかどうかを示します。 デフォルトはFALSEです。 |
ストレージ関数 |
STREAMING_MODEをtrueに設定すると、ロード関数はtextFileStreamに自動的に変更されます。 デフォルトはtextFileです。 |
ソース・データ・ストア |
ソース・データ・ストアはディレクトリであり、フィールド・セパレータを定義する必要があります。 |
このKMはデータをSpark Python変数からファイルに保存し、実行ユニット、ソース・テクノロジであるSpark Python、ターゲット・テクノロジであるファイルの間のAPで定義できます。
次の表は、LKM Spark to Fileのオプションについて説明します。
表C-3 LKM Spark to File
オプション | 説明 |
---|---|
ストレージ関数 |
データをロード/保存するのに使用されるストレージ関数。 |
InputFormatClass |
Hadoop InputFormatのクラス名。 例: org.apache.hadoop.mapreduce.lib.input.TextInputFormat。 |
KeyClass |
キーWritableクラスの完全修飾クラス名。 例: org.apache.hadoop.io.Text。 |
ValueClass |
値Writableクラスの完全修飾クラス名。 例: org.apache.hadoop.io.LongWritable。 |
KeyConverter |
キー・コンバータ・クラスの完全修飾クラス名。 |
ValueConverter |
値コンバータ・クラスの完全修飾クラス名。 |
ジョブ構成 |
Hadoop構成。 例: {'hbase.zookeeper.quorum': 'HOST', 'hbase.mapreduce.inputtable': 'TAB'} |
表C-4 ストリーミング用のLKM Spark to File
オプション | 説明 |
---|---|
ストレージ関数 |
STREAMING_MODEをtrueに設定すると、ロード関数はtextFileStreamに自動的に変更されます。 デフォルトはtextFileです。 |
このKMはデータをHive表からSpark Python変数にロードし、実行ユニット、ソース・テクノロジであるHive、ターゲット・テクノロジであるSpark Pythonの間のAPで定義できます。
このKMはデータをSpark Python変数からHive表に保存し、実行ユニット、ソース・テクノロジであるSpark Python、ターゲット・テクノロジであるHiveの間のAPで定義できます。
次の表は、LKM Spark to Hiveのオプションについて説明します。
表C-5 LKM Spark to Hive
オプション | 説明 |
---|---|
CREATE_TARGET_TABLE |
ターゲット表を作成します。 |
OVERWRITE_TARGET_TABLE |
ターゲット表を上書きします。 |
このKMは、データをHDFSファイルからSparkにロードします。
表C-6 LKM HDFS to Spark
オプション | 説明 |
---|---|
ストレージ関数 |
ストレージ関数は、データのロードまたは保存に使用されます。 |
streamingContext |
ストリーミング・コンテキストの名前。 |
InputFormatClass |
Hadoop InputFormatのクラス名。 例: org.apache.hadoop.mapreduce.lib.input.TextInputFormat。 |
KeyClass |
キーWritableクラスの完全修飾クラス名。 例: org.apache.hadoop.io.Text。 |
ValueClass |
値Writableクラスの完全修飾クラス名。 例: org.apache.hadoop.io.LongWritable。 |
KeyConverter |
キー・コンバータ・クラスの完全修飾クラス名。 |
ValueConverter |
値コンバータ・クラスの完全修飾クラス名。 |
ジョブ構成 |
Hadoop構成。 例: {'hbase.zookeeper.quorum': 'HOST', 'hbase.mapreduce.inputtable': 'TAB'} |
Sparkマッピング・ファイルの削除 |
マッピングの最後に一時オブジェクトを削除します。 |
キャッシュ |
計算後に、操作全体でRDDをキャッシュします。 |
ストレージ・レベル |
ストレージ・レベルは、データのキャッシュに使用されます。 |
再パーティション |
このコンポーネントの変換後に、RDDを再パーティション化します。 |
並列度のレベル |
パーティションの数。 |
パーティションのソート |
RDDを再パーティション化する際に、パーティションをキー関数でソートします。 |
パーティションのソート順序 |
パーティションをソートする順序 |
パーティション・キー関数 |
パーティションのキーを定義します。 |
パーティション関数 |
カスタマイズされたパーティション関数。 |
このKMは、データをSparkからHDFSファイルにロードします。
表C-7 LKM Spark to HDFS
オプション | 説明 |
---|---|
ストレージ関数 |
ストレージ関数は、データのロードまたは保存に使用されます。 |
OutputFormatClass |
Hadoop入力書式のクラス名。 |
KeyClass |
キーWritableクラスの完全修飾クラス名。 例: org.apache.hadoop.io.Text。 |
ValueClass |
値Writableクラスの完全修飾クラス名。 例: org.apache.hadoop.io.LongWritable。 |
KeyConverter |
キー・コンバータ・クラスの完全修飾クラス名。 |
ValueConverter |
値コンバータ・クラスの完全修飾クラス名。 |
ジョブ構成 |
Hadoop構成。 例: {'hbase.zookeeper.quorum': 'HOST', 'hbase.mapreduce.inputtable': 'TAB'} |
DELETE_TEMPORARY_OBJECTS |
マッピングの最後に一時オブジェクトを削除します。 |
Sparkマッピング・ファイルの削除 |
マッピングの最後に一時オブジェクトを削除します。 |
キャッシュ |
計算後に、操作全体でRDDをキャッシュします。 |
ストレージ・レベル |
ストレージ・レベルは、データのキャッシュに使用されます。 |
再パーティション |
このコンポーネントの変換後に、RDDを再パーティション化します。 |
並列度のレベル |
パーティションの数。 |
パーティションのソート |
RDDを再パーティション化する際に、パーティションをキー関数でソートします。 |
パーティションのソート順序 |
パーティションをソートする順序 |
パーティション・キー関数 |
パーティションのキーを定義します。 |
パーティション関数 |
カスタマイズされたパーティション関数。 |
このKMは、KafkaソースおよびSparkターゲットを使用してデータをロードし、Spark実行ユニットに存在してKafkaアップストリーム・ノードを保持するAPノードで定義できます。
表C-8 ストリーミング用のLKM Kafka to Spark
オプション | 説明 |
---|---|
ストレージ関数 |
STREAMING_MODEをtrueに設定すると、ロード関数はtextFileStreamに自動的に変更されます。 デフォルトはcreateStreamです。 |
キー・デコーダ |
メッセージ・キーをデコードします。 デフォルトは空です。 |
値デコーダ |
メッセージ値をデコードします。 デフォルトは空です。 |
グループID |
KafkaUtils.createStreamのコールに使用される受信者グループIDパラメータ。
注意: 受信者のグループ(すべての受信者のグループIDが同じ)では、すべてのメッセージを単一の受信者のみが受信します。 |
Kakfaパラメータ |
KafkaUitls.createStreamのコールに使用されるパラメータ。 |
storageLevel |
ストレージ・レベルは、受信されたオブジェクトの格納に使用されます。 デフォルトはStorageLevel.MEMORY_AND_DISK_2です。 |
パーティションの数 |
各スレッドがKafkaからデータを取得するパーティションの数 |
開始オフセット |
createDirectStream関数とともに使用されるパラメータ。 |
LKM Spark to Kafkaは、ストリーミングとバッチの両方のモードで機能し、実行ユニット間に存在してKafkaダウンストリーム・ノードを保持するAPで定義できます。
表C-9 LKM Spark to Kafka
オプション | 説明 |
---|---|
value.serializer | org.apache.kafka.common.serialization.StringSerializer |
このKMは、データをCassandraからSparkにロードするよう設計されていますが、他のJDBCソースとでも機能します。SQLソースおよびSparkターゲットを保持するAPノードで定義できます。
表C-10 LKM SQL to Spark
オプション | 説明 |
---|---|
PARTITION_COLUMN | パーティション化に使用される列 |
LOWER_BOUND | パーティション列の下限。 |
UPPER_BOUND | パーティション列の上限。 |
NUMBER_PARTITIONS | パーティションの数。 |
PREDICATES | 述語のリスト。 |
このKMは、データをSparkからCassandra表にロードし、SparkソースおよびSQLターゲットを保持するAPノードで定義できます。他のJDBCターゲットとでも機能します。
表C-11 LKM Spark to SQL
オプション | 説明 |
---|---|
CREATE_TARG_TABLE | ターゲット表を作成します。 |
データストアとしてのCassandra表。
「リバース・エンジニアリング」タブの「マスク」フィールドで、リバースエンジニアリングされるオブジェクトが名前に基づいてフィルタ処理されます。「マスク」フィールドは空にできず、少なくともパーセント記号(%)を含める必要があります。
属性としてのCassandra列およびそのデータ型。
SUMやGROUP BYなどを使用して行を集約します。
次の表は、XKM Spark Aggregateのオプションについて説明します。
表C-12 XKM Spark Aggregate
オプション | 説明 |
---|---|
CACHE_DATA |
デフォルト・ストレージ・レベルを使用してデータを永続化します。 |
NUMBER_OF_TASKS |
タスク番号。 |
表C-13 ストリーミング用のXKM Spark Aggregate
オプション | 説明 |
---|---|
WINDOW_AGGREGATION |
ウィンドウ集計を有効にします。 |
WINDOW_LENGTH |
バッチ間隔の数。 |
SLIDING_INTERVAL |
ウィンドウ操作が実行される間隔。 |
STATEFUL_AGGREGATION |
ステートフル集計を有効にします。 |
STATE_RETENTION_PERIOD |
Spark状態オブジェクトでキーまたは値の集計を保持する時間(秒)。 |
FORWARD_ONLY_UPDATED_ROWS |
ダウンストリーム・コンポーネントに転送される変更された集計値。 |
フィルタ条件に基づいてデータのサブセットを生成します。
次の表は、XKM Spark Filterのオプションについて説明します。
表C-14 XKM Spark Filter
オプション | 説明 |
---|---|
CACHE_DATA |
デフォルト・ストレージ・レベルを使用してデータを永続化します。 |
結合条件に基づいて複数の入力ソースを結合します。
次の表は、XKM Spark Joinのオプションについて説明します。
表C-15 XKM Spark Join
オプション | 説明 |
---|---|
CACHE_DATA |
デフォルト・ストレージ・レベルを使用してデータを永続化します。 |
NUMBER_OF_TASKS |
タスク番号。 |
派生データ・ソースのデータをルックアップします。
次の表は、XKM Spark Lookupのオプションについて説明します。
表C-16 XKM Spark Lookup
オプション | 説明 |
---|---|
CACHE_DATA |
デフォルト・ストレージ・レベルを使用してデータを永続化します。 |
NUMBER_OF_TASKS |
タスク番号。 |
MAP_SIDE |
KMでマップ側ルックアップを実行するのかリデュース側ルックアップを実行するのかを定義し、ルックアップのパフォーマンスにきわめて大きな影響を及ぼします。 |
KEY_BASED_LOOKUP |
ルックアップ・キーに対応するデータのみが取得されます。 |
表C-17 ストリーミング用のXKM Spark Lookup
オプション | 説明 |
---|---|
MAP_SIDE |
MAP_SIDE=true: メモリーに入る小さいルックアップ・データ・セットに適しています。この設定により、ルックアップ・データがすべてのSparkタスクにブロードキャストされてパフォーマンスが向上します。 |
KEY_BASED_LOOKUP |
どの着信ルックアップ・キーについても、Sparkキャッシュがチェックされます。
|
CACHE_RELOAD |
このオプションは、ルックアップ・ソース・データがいつロードおよびリフレッシュされるかを定義します。対応する値は次のとおりです。
|
CACHE_RELOAD_INTERVAL |
データがSparkキャッシュで保持される時間を定義します。この時間を経過すると、失効したデータまたはレコードはキャッシュから削除されます。 |
別々の行のデータを取得して集計し、列に変換します。
次の表は、XKM Spark Pivotのオプションについて説明します。
表C-18 XKM Spark Pivot
オプション | 説明 |
---|---|
CACHE_DATA |
デフォルト・ストレージ・レベルを使用してデータを永続化します。 |
注意:
XKM Spark Pivotでは、ストリーミングがサポートされていません。式を使用してデータをソートします。
次の表は、XKM Spark Sortのオプションについて説明します。
表C-19 XKM Spark Sort
オプション | 説明 |
---|---|
CACHE_DATA |
デフォルト・ストレージ・レベルを使用してデータを永続化します。 |
NUMBER_OF_TASKS |
タスク番号。 |
データを複数の条件により複数のパスに分割します。
次の表は、XKM Spark Splitのオプションについて説明します。
表C-20 XKM Spark Split
オプション | 説明 |
---|---|
CACHE_DATA |
デフォルト・ストレージ・レベルを使用してデータを永続化します。 |
Spark表関数アクセス。
次の表は、XKM Spark Table Functionのオプションについて説明します。
表C-21 XKM Spark Table Function
オプション | 説明 |
---|---|
SPARK_SCRIPT_FILE |
ユーザーがsparkスクリプト・ファイルのパスを指定します。 |
CACHE_DATA |
デフォルト・ストレージ・レベルを使用してデータを永続化します。 |
ターゲットとしてのSpark表関数。
次の表は、IKM Spark Table Functionのオプションについて説明します。
表C-22 IKM Spark Table Function
オプション | 説明 |
---|---|
SPARK_SCRIPT_FILE |
ユーザーがsparkスクリプト・ファイルのパスを指定します。 |
CACHE_DATA |
デフォルト・ストレージ・レベルを使用してデータを永続化します。 |