目次

Search

  1. はじめに
  2. Informatica Data Engineering Integrationについて
  3. マッピング
  4. マッピングの最適化
  5. ソース
  6. ターゲット
  7. トランスフォーメーション
  8. Pythonトランスフォーメーション
  9. データプレビュー
  10. クラスタワークフロー
  11. プロファイル
  12. 監視
  13. 階層データ処理
  14. 階層データ処理設定
  15. スキーマが変更された階層データの処理
  16. インテリジェント構造モデル
  17. ブロックチェーン
  18. ステートフルコンピューティング
  19. 付録 A: 接続リファレンス
  20. 付録 B: データ型リファレンス
  21. 付録 C: 関数リファレンス

Sparkの詳細プロパティ

Sparkの詳細プロパティ

Sparkの詳細プロパティは、Sparkエンジンに固有の詳細プロパティまたはカスタムプロパティのリストです。各プロパティには名前および値が含まれます。詳細プロパティを追加または編集できます。各プロパティには名前および値が含まれます。詳細プロパティを追加または編集できます。
[Spark設定]セクションの
[詳細プロパティ]
で、次のプロパティを設定します。
テキストボックスのプロパティを編集するには、次の形式で&:を使用して名前と値のペアを区別します。
<name1>=<value1>[&:<name2>=<value2>…&:<nameN>=<valueN>]
infasjs.env.spark.context-settings.passthrough.spark.dynamicAllocation.executorIdleTimeout
Spark Jobserver実行プログラムノードを削除する前にアイドル状態にできる最長時間。Sparkエンジンを使用するデータプレビュージョブのデバッグをサポートするには、値を増やします。
この時間は、サフィックスに
s
m
、または
h
を使用して秒単位、分単位、または時単位で指定できます。時間単位を指定しない場合は、プロパティでミリ秒単位が使用されます。
動的なリソースの割り当てを無効にする場合は、このプロパティを使用しません。
デフォルトは、120秒です。
infasjs.env.spark.jobserver.max-jobs-per-context
Sparkコンテキストで同時に実行できるSparkジョブの最大数。このプロパティの値を増やす場合、
spark.executor.cores
および
spark.executor.memory
を増やしてリソースの割り当てを増やす必要が生じることがあります。
デフォルトは10です。
infasjs.env.spark.jobserver.sparkJobTimeoutInMinutes
Spark JobserverでジョブをキャンセルするまでにSparkジョブをSparkコンテキストで実行できる最長時間(分単位)。Sparkエンジンを使用するデータプレビュージョブのデバッグをサポートするには、値を増やします。
デフォルトは15です。
infaspark.class.log.level.map
Sparkドライバまたは実行プログラムの特定のクラスのログレベル。このプロパティを設定すると、マッピングに設定したトレースレベルがオーバーライドされます。
このプロパティの値を、次の形式のJSON文字列に設定します。{"<完全修飾クラス名":"<ログレベル>"}
複数のクラスログレベル文をカンマで結合します。使用できるログレベルは、FATAL、WARN、INFO、DEBUG、ALLです。
例えば、次に設定します。
infaspark.class.log.level.map={"org.apache.spark.deploy.yarn.ApplicationMaster":"TRACE","org.apache.spark.deploy.security.HadoopFSDelegationTokenProvider":"DEBUG"}
infaspark.driver.cluster.mode.extraJavaOptions
クラスタ内で実行されるSparkドライバ用の追加Javaオプションのリスト。Kerberos認証を使用するKafkaクラスタとの間の読み書きを行うストリーミングマッピングに必要です。
例えば、以下を設定します。
infaspark.driver.cluster.mode.extraJavaOptions= -Djava.security.egd=file:/dev/./urandom -XX:MaxMetaspaceSize=256M -Djavax.security.auth.useSubjectCredsOnly=true -Djava.security.krb5.conf=/<path to keytab file>/krb5.conf -Djava.security.auth.login.config=<path to jaas config>/kafka_client_jaas.config
特定のユーザーのプロパティを設定するには、次のコード行を含めます。
infaspark.driver.cluster.mode.extraJavaOptions = -Djava.security.egd=file:/dev/./urandom -XX:MaxMetaspaceSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=500 -Djava.security.krb5.conf=/etc/krb5.conf
infaspark.driver.log.level
Sparkドライバのログのログレベル。このプロパティを設定すると、マッピングに設定したトレースレベルがオーバーライドされます。
値をFATAL、WARN、INFO、DEBUG、ALLのいずれかのレベルに設定します。
infaspark.executor.extraJavaOptions
Spark実行プログラム用の追加Javaオプションのリスト。Kerberos認証を使用するKafkaクラスタとの間の読み書きを行うストリーミングマッピングに必要です。
例えば、以下を設定します。
infaspark.executor.extraJavaOptions= -Djava.security.egd=file:/dev/./urandom -XX:MaxMetaspaceSize=256M -Djavax.security.auth.useSubjectCredsOnly=true -Djava.security.krb5.conf=/<path to krb5.conf file>/krb5.conf -Djava.security.auth.login.config=/<path to jAAS config>/kafka_client_jaas.config
特定のユーザーのプロパティを設定するには、次のコード行を含めます。
infaspark.executor.extraJavaOptions = -Djava.security.egd=file:/dev/./urandom -XX:MaxMetaspaceSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=500 -Djava.security.krb5.conf=/etc/krb5.conf
infaspark.executor.log.level
Spark実行プログラムのログのログレベル。このプロパティを設定すると、マッピングに設定したトレースレベルがオーバーライドされます。
値をFATAL、WARN、INFO、DEBUG、ALLのいずれかのレベルに設定します。
infaspark.flatfile.writer.nullValue
Databricks Sparkエンジンがターゲットに書き込むときに、NULL値は空の文字列(「 」)に変換されます。例: 12, AB,"",23p09udj。
Databricks Sparkエンジンは文字列カラムに空の文字列を書き込むことができますが、空の文字列を非文字列カラムに書き込もうとすると、タイプの不一致でマッピングが失敗します。
Databricks Sparkエンジンで空の文字列をNULL値に戻してターゲットに書き込めるようにするには、Databricks Spark接続でプロパティを設定します。
TRUEに設定します。
infaspark.json.parser.mode
破損したJSONレコードの処理方法をパーサーに指定します。次のいずれかのモードに値を設定できます。
  • DROPMALFORMED。パーサーは破損したすべてのレコードを無視します。デフォルトのモードです。
  • PERMISSIVE。パーサーは、破損したレコードの標準ではないフィールドをNULLとして受け取ります。
  • FAILFAST。パーサーが破損したレコードを検出し、Sparkアプリケーションがダウンした場合、パーサーは例外を生成します。
infaspark.json.parser.multiLine
JSONファイルの複数行のレコードをパーサーが読み取れるかどうかを指定します。この値は、trueまたはfalseに設定できます。デフォルトはfalseです。Sparkバージョン2.2.x以上を使用する非ネイティブのディストリビューションにのみ適用します。
infaspark.pythontx.exec
Data Engineering Integration用のSparkエンジンでPythonトランスフォーメーションを実行するために必要です。Hadoopクラスタの作業ノード上のPython実行可能バイナリの場所。
例えば、以下を設定します。
infaspark.pythontx.exec=/usr/bin/python3.4
データ統合サービスマシン上でPythonのインストールを使用する場合、データ統合サービスマシン上のInformaticaインストールディレクトリのPython実行可能バイナリに値を設定します。
例えば、以下を設定します。
infaspark.pythontx.exec=INFA_HOME/services/shared/spark/python/lib/python3.4
infaspark.pythontx.executorEnv.LD_PRELOAD
Data Engineering Streaming用のSparkエンジンでPythonトランスフォーメーションを実行するために必要です。データ統合サービスマシン上にある、Pythonインストールフォルダ内のPython共有ライブラリの場所。
例えば、以下を設定します。
infaspark.pythontx.executorEnv.LD_PRELOAD= INFA_HOME/services/shared/spark/python/lib/libpython3.6m.so
infaspark.pythontx.executorEnv.PYTHONHOME
Data Engineering IntegrationとData Engineering Streaming用のSparkエンジンでPythonトランスフォーメーションを実行するために必要です。Hadoopクラスタの作業ノード上のPythonインストールディレクトリの場所。
例えば、以下を設定します。
infaspark.pythontx.executorEnv.PYTHONHOME=/usr
データ統合サービスマシン上でPythonのインストールを使用する場合、データ統合サービスマシン上のPythonインストールディレクトリの場所を使用します。
例えば、以下を設定します。
infaspark.pythontx.executorEnv.PYTHONHOME= INFA_HOME/services/shared/spark/python/
infaspark.pythontx.submit.lib.JEP_HOME
Data Engineering Streaming用のSparkエンジンでPythonトランスフォーメーションを実行するために必要です。データ統合サービスマシン上にある、Pythonインストールフォルダ内のJepパッケージの場所。
例えば、以下を設定します。
infaspark.pythontx.submit.lib.JEP_HOME= INFA_HOME/services/shared/spark/python/lib/python3.6/site-packages/jep/
infaspark.useHiveWarehouseAPI
Hive Warehouse Connectorを有効にします。TRUEに設定します。
例えば、
infaspark.useHiveWarehouseAPI=true
と設定します。
spark.authenticate
HadoopでのSparkサービスの認証を有効にします。Sparkの暗号化に必要です。
TRUEに設定します。
例:
spark.authenticate=TRUE
spark.authenticate.enableSaslEncryption
SASL認証が有効になっている場合に、暗号化された通信を有効にします。Sparkの暗号化でSASL認証が使用される場合に必要です。
TRUEに設定します。
例:
spark.authenticate.enableSaslEncryption=TRUE
spark.datasource.hive.warehouse.load.staging.dir
Hiveへのバッチ書き込みに使用される一時HDFSファイルのディレクトリ。Hive Warehouse Connectorを有効にする場合に必要です。
例えば、
/tmp
に設定します
spark.datasource.hive.warehouse.metastoreUri
HiveメタストアのURI。Hive Warehouse Connectorを有効にする場合に必要です。hive_site_xmlクラスタ設定プロパティから
hive.metastore.uris
の値を使用します。
例えば、
thrift://mycluster-1.com:9083
に設定します。
spark.driver.cores
各ドライバがSparkエンジンでジョブを実行するために使用するコアの数を示します。
spark.driver.cores=1
に設定します。
spark.driver.extraJavaOptions
Sparkドライバ用の追加のJavaオプションのリスト。
複合データ型内のDate/Timeデータを、Hortonworks HDP 3.1クラスタを使用してHiveターゲットに書き込む場合は、このプロパティに値
-Duser.timezone=UTC
を追加します。
spark.driver.memory
Sparkエンジンがジョブを実行するために使用するドライバプロセスメモリの量を示します。
推奨値: データソースごとに少なくとも256 MBを割り当てます。
spark.driver.memory=3G
に設定します。
spark.executor.cores
各実行プログラムプロセスがSparkエンジンでタスクレットを実行するために使用するコアの数を示します。
spark.executor.cores=1
に設定します。
spark.executor.extraJavaOptions
Spark実行プログラム用の追加Javaオプションのリスト。
複合データ型内のDate/Timeデータを、Hortonworks HDP 3.1クラスタを使用してHiveターゲットに書き込む場合は、このプロパティに値
-Duser.timezone=UTC
を追加します。
spark.executor.instances
各実行プログラムプロセスがSparkエンジンでタスクレットを実行するために使用するインスタンスの数を示します。
spark.executor.instances=1
に設定します。
spark.executor.memory
各実行プログラムプロセスがSparkエンジンでタスクレットを実行するために使用するメモリの量を示します。
spark.executor.memory=3G
に設定します。
spark.hadoop.hive.llap.daemon.service.hosts
LLAPサービスのアプリケーション名。Hive Warehouse Connectorを有効にする場合に必要です。hive_site_xmlクラスタ設定プロパティから
hive.llap.daemon.service.hosts
の値を使用します。
spark.hadoop.hive.zookeeper.quorum
Hive LLAPが使用するZookeeperホスト。Hive Warehouse Connectorを有効にする場合に必要です。hive_site_xmlクラスタ設定プロパティから
hive.zookeeper.quorum
の値を使用します。
spark.hadoop.validateOutputSpecs
HBaseテーブルが存在するかどうかを検証します。Amazon EMRクラスタのHBaseターゲットに書き込みを行うストリーミングマッピングに必要です。値をfalseに設定します。
spark.scheduler.maxRegisteredResourcesWaitingTime
タスクをスケジュール設定する前に、リソースの登録を待機する時間(ミリ秒)。デフォルトは30000です。Sparkジョブの実行を開始する前に、この値を小さくして遅延を減らします。Sparkエンジンでのマッピングのパフォーマンスを向上させるために必要です。
15000に設定します。
例:
spark.scheduler.maxRegisteredResourcesWaitingTime=15000
spark.scheduler.minRegisteredResourcesRatio
タスクのスケジュール設定が開始される前に取得される登録済みリソースの最小比率。デフォルトは0.8です。Sparkジョブの実行を開始する前に、この値を小さくして遅延を減らします。Sparkエンジンでのマッピングのパフォーマンスを向上させるために必要です。
0.5に設定します。
例:
spark.scheduler.minRegisteredResourcesRatio=0.5
spark.shuffle.encryption.enabled
認証が有効になっている場合に、暗号化された通信を有効にします。Sparkの暗号化に必要です。
TRUEに設定します。
例:
spark.shuffle.encryption.enabled=TRUE
spark.sql.hive.hiveserver2.jdbc.url
HiveServer2 InteractiveのURL。Hive Warehouse Connectorを使用するために必要です。HiveServer2 JDBC URLにはAmbariの値を使用します。
spark.yarn.access.hadoopFileSystems
Sparkサービスがアクセスできる外部ファイルシステムのカンマ区切りのリスト。デフォルトでは、Sparkサービスは、クラスタ設定のcore-site.xml設定セットのfs.defaultFSにリストされているファイルシステムにアクセスできます。このプロパティを、Sparkサービスに追加のファイルシステムへのアクセスを許可するように設定します。
Cloudera CDPパブリッククラウドクラスタでマッピングを実行し、Cloudera Data LakeクラスタでHDFSを使用する場合は、そのファイルシステムへのアクセスを許可する必要があります。Data Lakeクラスタ上の
core-site.xml
にあるプロパティ
fs.defaultFS
の値を追加します。For example:
spark.yarn.access.hadoopFileSystems=hdfs://infarndcdppamdl-master1.infarndc.src9-ltfl.cloudera.site:8020