DP CLI構成

DP CLIには、デフォルトのプロパティを設定する構成ファイルedp.propertiesがあります。

デフォルトでは、edp.propertiesファイルは$BDD_HOME/dataprocessing/edp_cli/configディレクトリにあります。

プロパティのデフォルト値の一部はbdd.confインストール構成ファイルから移入されます。インストール後に、edp.propertiesファイルをテキスト・エディタで開いてCLI構成パラメータを変更できます。

データ処理のデフォルト値

データ処理のデフォルト値を設定するプロパティは、次のとおりです。
データ処理のプロパティ 説明
maxRecordsForNewDataSet 新規データ・セットごとに処理されるレコードの最大数(ソースHive表からサンプリングされるレコード数)。実際には、これにより、BDDデータ・セット内のレコードの最大数が設定されます。デフォルトは、bdd.confファイルのMAX_RECORDSプロパティで設定されます。CLI --maxRecordsフラグは、この設定をオーバーライドできます。
runEnrichment データ・エンリッチメント・モジュールを実行するかどうかを指定します。デフォルトは、bdd.confファイルのENABLE_ENRICHMENTSプロパティで設定されます。

この設定は、CLI --runEnrichmentフラグを使用してオーバーライドできます。CLI --excludePluginsフラグは、データ・エンリッチメント・モジュールの一部を除外するためにも使用できます。

defaultLanguage 作成したデータ・セット内の属性すべての言語。デフォルトは、bdd.confファイルのLANGUAGEプロパティで設定されます。サポートされる言語コードは、「サポートされている言語」を参照してください。
edpDataDir データ収集操作および変換操作が処理されるHDFSディレクトリの場所を指定します。デフォルトの場所は、/user/bdd/edp/dataディレクトリです。
datasetAccessType Studio UIでデータ・セットにアクセスできるStudioユーザーを決定するデータ・セットのアクセス・タイプを設定します。このプロパティは、大文字と小文字を区別しない次のいずれかの値です。
  • publicは、すべてのStudioユーザーがデータ・セットにアクセスできることを意味します。これはデフォルトです。
  • privateは、指定されたStudioユーザーとグループのみがデータ・セットにアクセスできることを意味します。ユーザーとグループは、DataSetインベントリのデータ・セットのエントリ内の属性セットで指定されます。

Dgraph Gatewayの接続性設定

これらのプロパティは、Dgraphノードを管理しているDgraph Gatewayへのアクセスを制御するために使用されます。
Dgraph Gatewayのプロパティ 説明
endecaServerHost Dgraph Gatewayが実行されているホストの名前。デフォルト名は、bdd.conf構成ファイルに指定されています。
endecaServerPort Dgraph Gatewayがリスニングしているポート。デフォルト値は7003です。
endecaServerContextRoot WebLogicサーバー内の管理対象サーバーで実行されている場合のDgraph Gatewayのコンテキスト・ルート。この値は/endeca-serverに設定する必要があります。

Kerberos資格証明

DP CLIは、インストール時にbdd.confファイルのENABLE_KERBEROSプロパティがTRUEに設定されている場合にKerberosサポートに対して有効化されます。bdd.confファイルには、Kerberosプリンシパルの名前と、Kerberosキータブ・ファイルおよびKerberos構成ファイルのパスを指定するパラメータもあります。インストール・スクリプトは、data_processing_CLIスクリプトに次の表のプロパティを移入します。

Kerberosプロパティ 説明
isKerberized Kerberosサポートを有効にするかどうかを指定します。デフォルト値は、bdd.confファイルのENABLE_KERBEROSプロパティで設定されます。
localKerberosPrincipal Kerberosプリンシパルの名前。デフォルト名は、bdd.confファイルのKERBEROS_PRINCIPALプロパティで設定されます。
localKerberosKeytabPath WebLogic管理サーバーのKerberosキータブ・ファイルのパス。デフォルト・パスは、bdd.confファイルのKERBEROS_KEYTAB_PATHプロパティで設定されます。
clusterKerberosPrincipal Kerberosプリンシパルの名前。デフォルト名は、bdd.confファイルのKERBEROS_PRINCIPALプロパティで設定されます。
clusterKerberosKeytabPath WebLogic管理サーバーのKerberosキータブ・ファイルのパス。デフォルト・パスは、bdd.confファイルのKERBEROS_KEYTAB_PATHプロパティで設定されます。
krb5ConfPath krb5.conf構成ファイルのパス。このファイルには、Kerberos V5ライブラリに必要な構成情報が含まれます。これには、デフォルトのKerberosレルムを説明する情報と、既知のレルムのKerberosキー配布センターの場所が含まれます。

デフォルト・パスは、bdd.confファイルのKRB5_CONF_PATHプロパティで設定されます。ただし、krb5.confファイルのローカルのカスタムの場所を指定できます。

これらのパラメータの詳細は、『インストレーションおよびデプロイメント・ガイド』を参照してください

Hadoopの接続性設定

Hadoop環境のプロセスおよびリソースへの接続を定義するパラメータは、次のとおりです。
Hadoopのパラメータ 説明
hiveServerHost Hiveサーバーが実行されているホストの名前。デフォルト値は、BDDのインストール時に設定されています。
hiveServerPort Hiveサーバーがリスニングしているポート。デフォルト値は、BDDのインストール時に設定されています。
clusterOltHome Sparkワーカー・ノード上のOLTディレクトリへのパス。デフォルトの場所は、/opt/bdd/edp-<version>/oltディレクトリです。
oltHome clusterOltHomeとこのパラメータの両方が必須で、どちらも同じ値に設定する必要があります。

Spark環境設定

これらのパラメータは、Sparkワーカーとの相互作用の設定を定義します。
Sparkプロパティ 説明
sparkMasterUrl SparkクラスタのマスターURLを指定します。Spark-on-YARNモードでは、ResourceManagerのアドレスはこのパラメータのyarn-clusterを指定するだけでHadoop構成から取得されます。デフォルト値は、BDDのインストール時に設定されています。
sparkDynamicAllocation データ処理がエグゼキュータ・リソースを動的に計算するか、静的エグゼキュータ・リソース構成を使用するかを示します。
  • falseに設定されている場合、静的リソース・パラメータの値(sparkDriverMemorysparkDriverCoressparkExecutorMemorysparkExecutorCoresおよびsparkExecutors)は必須で使用されます。
  • trueに設定されている場合、エグゼキュータ・リソースは動的に計算されます。これは、静的リソース・パラメータが不要で、指定されていても無視されることを意味します。

デフォルトは、bdd.confファイルのSPARK_DYNAMIC_ALLOCATIONプロパティで設定されます。

sparkDriverMemory 各Sparkドライバ・プロセスに使用するメモリー量で、JVMメモリー文字列と同じ形式です(512m、2g、10gなど)。デフォルトは、bdd.confファイルのSPARK_DRIVER_MEMORYプロパティで設定されます。
sparkDriverCores Sparkドライバで使用するCPUコアの最大数。デフォルトは、bdd.confファイルのSPARK_DRIVER_CORESプロパティで設定されます。
sparkExecutorMemory 各Sparkエグゼキュータ・プロセスに使用するメモリー量で、JVMメモリー文字列と同じ形式です(512m、2g、10gなど)。デフォルトは、bdd.confファイルのSPARK_EXECUTOR_MEMORYプロパティで設定されます。

この設定は、SparkのCloudera Managerのワーカーのエグゼキュータの合計Javaヒープ・サイズ(バイト数) (executor_total_max_heapsize)プロパティ以下である必要があります。このプロパティは、Cloudera Managerで「クラスタ」→Spark (スタンドアロン)を選択し、「構成」タブをクリックすることでアクセスできます。このプロパティは、ワーカー・デフォルト・グループ・カテゴリにあります(クラシック・ビューを使用)。

sparkExecutorCores 各Sparkエグゼキュータに使用するCPUコアの最大数。デフォルトは、bdd.confファイルのSPARK_EXECUTOR_CORESプロパティで設定されます。
sparkExecutors 起動するSparkエグゼキュータの総数。デフォルトは、bdd.confファイルのSPARK_EXECUTORSプロパティで設定されます。
yarnQueue データ処理ジョブを発行するYARNキュー。デフォルト値は、bdd.confファイルのYARN_QUEUEプロパティで設定されます。
maxSplitSizeMB Spark入力の最大パーティション・サイズ(MB)。これは、データ処理ジョブで処理されるデータのブロック・サイズを制御します。このプロパティは、Hadoopで使用されるHDFSブロック・サイズをオーバーライドします。

パーティション・サイズはデータ処理パフォーマンスに直接影響します。パーティションが小さい場合、並列に実行されるジョブが増え、クラスタ・リソースがより効率的に使用されます。これにより、速度と安定性の両方が向上します。

デフォルトは、bdd.confファイルのMAX_INPUT_SPLIT_SIZEプロパティで設定されます(ユーザーが変更しないかぎり32です)。32MBは、ほとんどのクラスタで十分な量ですが、いくつか例外があります。
  • Hadoopクラスタの処理容量が非常に大きく、データ・セットのほとんどが小さい(1GB程度)場合は、この値を減らすことができます。
  • データ・エンリッチメントが有効な場合に、パーティション内のエンリッチされたデータ・セットがそのYARNコンテナに対して大きくなりすぎて処理できないことがまれにあります。この場合は、この値を小さくして各パーティションに必要なメモリー量を減らすことができます。

このプロパティが空の場合、DP CLIは起動時にエラーをログに記録し、32MBのデフォルト値を使用します。

Jarの場所設定

これらのプロパティは、ワークフローで使用するjarのパスを指定します。
Jarプロパティ 説明
sparkYarnJar Spark-on-YARNによって使用されるJARファイルへのパス。デフォルト・パスは、bdd.confファイルのSPARK_ON_YARN_JARプロパティで設定されます。CDH 5.4インストールの場合、EdpOdlAppender.jarがパスに追加されます。
bddHadoopFatJar クラスタ上のHadoop共有ライブラリ(ファイル名はbddHadoopFatJar.jar)の場所へのパス。パスはインストーラによって設定されます。

data_processing_CLIスクリプトには、DP CLIクライアントのローカル・ファイル・システム上のHadoop共有ライブラリの場所を指定するBDD_HADOOP_FATJARプロパティがあります。

edpJarDir Sparkワーカーのデータ処理JARファイルがクラスタ上に配置されているディレクトリへのパス。デフォルトの場所は、/opt/bdd/edp-<version>/libディレクトリです。
extraJars 顧客によって使用される追加のJARファイルへのパス(カスタムSerDe JARへのパスなど)。デフォルト・パスは、bdd.confファイルのDP_ADDITIONAL_JARSプロパティで設定されます。

Kryoシリアライズ設定

これらのプロパティは、Kryoシリアライズの使用を定義します。
Kryoプロパティ 説明
kryoMode シリアライズ用としてKryoを有効(true)にするか無効(false)にするかを指定します。デフォルトは、bdd.confファイルのkryoModeプロパティで設定されます。falseは、データ処理ワークフローに推奨される設定です。
kryoBufferMemSizeMB Kryo内で許可する最大オブジェクト・サイズ(MB単位)。(ライブラリでは少なくとも、シリアライズする単一の最大オブジェクトと同じ大きさのバッファを作成する必要があります)。デフォルトは、bdd.confファイルのkryoBufferMemSizeMBプロパティで設定されます。Kryo内でバッファ制限を超えましたという例外がスローされた場合は、この設定を大きくしてください。バッファは各ワーカー上のコアごとに1つ存在します。

JAVA_HOME設定

CLI構成プロパティを設定することに加え、JAVA_HOME環境変数が、データ処理CLIの実行時に呼び出されるJavaの特定のバージョンを含むディレクトリに設定されていることを確認してください。