Data Engineering Administrator Guide > Connections Reference > Configuring Hadoop Connection Properties
  

Configuring Hadoop Connection Properties

When you create a Hadoop connection, default values are assigned to cluster environment variables, cluster path properties, and advanced properties. You can add or edit values for these properties. You can also reset to default values.
You can configure the following Hadoop connection properties based on the cluster environment and functionality that you use:
To reset to default values, delete the property values. For example, if you delete the values of an edited Cluster Library Path property, the value resets to the default $DEFAULT_CLUSTER_LIBRARY_PATH.

Cluster Environment Variables

Cluster Environment Variables property lists the environment variables that the cluster uses. Each environment variable contains a name and a value. You can add environment variables or edit environment variables.
To edit the property in the text box, use the following format with &: to separate each name-value pair:
<name1>=<value1>[&:<name2>=<value2>…&:<nameN>=<valueN>]
Configure the following environment variables in the Cluster Environment Variables property:
HADOOP_NODE_JDK_HOME
Represents the directory from which you run the cluster services and the JDK version that the cluster nodes use. Required to run the Java transformation in the Hadoop environment and Sqoop mappings on the Blaze engine. Default is /usr/java/default. The JDK version that the Data Integration Service uses must be compatible with the JDK version on the cluster.
Set to <cluster JDK home>/jdk<version>.
For example, HADOOP_NODE_JDK_HOME=<cluster JDK home>/jdk<version>.

Cluster Library Path

Cluster Library Path property is a list of path variables for shared libraries on the cluster. You can add or edit library path variables.
To edit the property in the text box, use the following format with : to separate each path variable:
<variable1>[:<variable2>…:<variableN]
Configure the library path variables in the Cluster Library Path property.

Common Advanced Properties

Common advanced properties are a list of advanced or custom properties that are unique to the Hadoop environment. The properties are common to the Blaze and Spark engines. Each property contains a name and a value. You can add or edit advanced properties.
To edit the property in the text box, use the following format with &: to separate each name-value pair:
<name1>=<value1>[&:<name2>=<value2>…&:<nameN>=<valueN>]
Configure the following property in the Advanced Properties of the common properties section:
infapdo.java.opts
List of Java options to customize the Java run-time environment. The property contains default values.
If mappings in a MapR environment contain a Consolidation transformation or a Match transformation, change the following value:

Blaze Engine Advanced Properties

Blaze advanced properties are a list of advanced or custom properties that are unique to the Blaze engine. Each property contains a name and a value. You can add or edit advanced properties.
To edit the property in the text box, use the following format with &: to separate each name-value pair:
<name1>=<value1>[&:<name2>=<value2>…&:<nameN>=<valueN>]
Configure the following properties in the Advanced Properties of the Blaze configuration section:
infagrid.cadi.namespace
Namespace for the Data Integration Service to use. Required to set up multiple Blaze instances.
Set to <unique namespace>.
For example, infagrid.cadi.namespace=TestUser1_namespace
infagrid.blaze.console.jsfport
JSF port for the Blaze engine console. Use a port number that no other cluster processes use. Required to set up multiple Blaze instances.
Set to <unique JSF port value>.
For example, infagrid.blaze.console.jsfport=9090
infagrid.blaze.console.httpport
HTTP port for the Blaze engine console. Use a port number that no other cluster processes use. Required to set up multiple Blaze instances.
Set to <unique HTTP port value>.
For example, infagrid.blaze.console.httpport=9091
infagrid.node.local.root.log.dir
Path for the Blaze service logs. Default is /tmp/infa/logs/blaze. Required to set up multiple Blaze instances.
Verify that all blaze users have write permission on /tmp.
Set to <local Blaze services log directory>.
For example, infagrid.node.local.root.log.dir=<directory path>
infacal.hadoop.logs.directory
Path in HDFS for the persistent Blaze logs. Default is /var/log/hadoop-yarn/apps/informatica. Required to set up multiple Blaze instances.
Set to <persistent log directory path>.
For example, infacal.hadoop.logs.directory=<directory path>
infagrid.node.hadoop.local.root.log.dir
Path in the Hadoop connection for the service log directory.
Set to <service log directory path>.
For example, infagrid.node.local.root.log.dir=$HADOOP_NODE_INFA_HOME/blazeLogs

Spark Advanced Properties

Spark advanced properties are a list of advanced or custom properties that are unique to the Spark engine. Each property contains a name and a value. You can add or edit advanced properties. Each property contains a name and a value. You can add or edit advanced properties.
Configure the following properties in the Advanced Properties of the Spark configuration section:
To edit the property in the text box, use the following format with &: to separate each name-value pair:
<name1>=<value1>[&:<name2>=<value2>…&:<nameN>=<valueN>]
infasjs.env.spark.context-settings.passthrough.spark.dynamicAllocation.executorIdleTimeout
Maximale Zeit, die ein Executor-Knoten des Spark-Jobservers inaktiv sein kann, bevor er entfernt wird. Erhöhen Sie den Wert, um die Fehlerbehebung von Datenvorschau-Jobs, die die Spark-Engine nutzen, zu unterstützen.
Sie können die Zeit in Sekunden, Minuten oder Stunden angeben, indem Sie das Suffix s, m oder h verwenden. Wenn Sie keine Zeiteinheit angeben, verwendet die Eigenschaft Millisekunden.
Wenn Sie die dynamische Ressourcenzuweisung deaktivieren, wird diese Eigenschaft nicht verwendet.
Der Standardwert ist 120 s.
infasjs.env.spark.jobserver.max-jobs-per-context
Maximale Anzahl an Spark-Jobs, die gleichzeitig in einem Spark-Kontext ausgeführt werden können. Wenn Sie den Wert dieser Eigenschaft erhöhen, müssen Sie ggf. mehr Ressourcen zuweisen, indem Sie die Werte für spark.executor.cores und spark.executor.memory erhöhen.
Standardwert ist 10.
infasjs.env.spark.jobserver.sparkJobTimeoutInMinutes
Maximale Zeit in Minuten, die ein Spark-Job in einem Spark-Kontext ausgeführt werden kann, bevor der Spark-Jobserver den Job abbricht. Erhöhen Sie den Wert, um die Fehlerbehebung von Datenvorschau-Jobs, die die Spark-Engine nutzen, zu unterstützen.
Standardwert ist 15.
infaspark.class.log.level.map
Protokollierungsebene für bestimmte Klassen im Spark-Treiber oder -Executor. Wenn Sie diese Eigenschaft konfigurieren, überschreibt sie die für die Zuordnung festgelegte Tracingebene.
Setzen Sie den Wert dieser Eigenschaft auf eine JSON-Zeichenfolge in folgendem Format: {"<fully qualified class name":"<log level>"}
Verbinden Sie mehrere Anweisungen der Klassenprotokollierungsebene mit einem Komma. Sie können die folgenden Protokollierungsebenen verwenden: FATAL, WARN, INFO, DEBUG, ALL.
Legen Sie die Eigenschaft z. B. fest auf:
infaspark.class.log.level.map={"org.apache.spark.deploy.yarn.ApplicationMaster":"TRACE","org.apache.spark.deploy.security.HadoopFSDelegationTokenProvider":"DEBUG"}
infaspark.driver.cluster.mode.extraJavaOptions
Liste der zusätzlichen Java-Optionen für den Spark-Treiber, der innerhalb des Clusters ausgeführt wird. Für das Streamen von Mappings erforderlich, um von einem Kafka-Cluster, der die Kerberos-Authentifizierung verwendet, zu lesen oder in diesen zu schreiben.
Legen Sie die Eigenschaft z. B. fest auf:
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
Um die Eigenschaft für einen bestimmten Benutzer zu konfigurieren, können Sie folgende Codezeilen einfügen:
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
Protokollierungsebene für die Spark-Treiberprotokolle. Wenn Sie diese Eigenschaft konfigurieren, überschreibt sie die für die Zuordnung festgelegte Tracingebene.
Legen Sie den Wert auf eine der folgenden Ebenen fest: FATAL, WARN, INFO, DEBUG, ALL.
infaspark.executor.extraJavaOptions
Liste der zusätzlichen Java-Optionen für den Spark-Executor. Für das Streamen von Mappings erforderlich, um von einem Kafka-Cluster, der die Kerberos-Authentifizierung verwendet, zu lesen oder in diesen zu schreiben.
Legen Sie die Eigenschaft z. B. fest auf:
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
Um die Eigenschaft für einen bestimmten Benutzer zu konfigurieren, können Sie folgende Codezeilen einfügen:
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
Protokollierungsebene für die Spark-Executor-Protokolle. Wenn Sie diese Eigenschaft konfigurieren, überschreibt sie die für die Zuordnung festgelegte Tracingebene.
Legen Sie den Wert auf eine der folgenden Ebenen fest: FATAL, WARN, INFO, DEBUG, ALL.
infaspark.flatfile.writer.nullValue
Wenn die Databricks-Spark-Engine in ein Ziel schreibt, konvertiert sie Nullwerte in leere Zeichenfolgen (" "). Beispiel: 12, AB,"",23p09udj.
Die Databricks-Spark-Engine kann die leeren Zeichenfolgen in Zeichenfolgenspalten schreiben. Aber wenn sie versucht, eine leere Zeichenfolge in eine Nicht-Zeichenfolgenspalte zu schreiben, schlägt das Mapping mit einem Typenkonflikt fehl.
Damit die Databricks-Spark-Engine die leeren Zeichenfolgen in Nullwerte zurück konvertieren und ins Ziel schreiben kann, konfigurieren Sie die Eigenschaft in der Databricks-Spark-Verbindung.
Setzen Sie die Eigenschaft auf TRUE.
infaspark.json.parser.mode
Gibt an, wie der Parser beschädigte JSON-Datensätze behandeln soll. Sie können den Wert auf einen der folgenden Modi festlegen:
infaspark.json.parser.multiLine
Gibt an, ob der Parser einen mehrzeiligen Datensatz in einer JSON-Datei lesen kann. Sie können den Wert auf TRUE oder FALSE festlegen. Standardwert ist FALSE. Gilt nur für nicht-native Distributionen, die Spark Version 2.2.x oder höher verwenden.
infaspark.pythontx.exec
Erforderlich, um eine Python-Umwandlung auf der Spark-Engine für Data Engineering Integration auszuführen. Der Speicherort der ausführbaren Python-Binärdatei auf den Worker-Knoten im Hadoop-Cluster.
Legen Sie die Eigenschaft z. B. fest auf:
infaspark.pythontx.exec=/usr/bin/python3.4
Wenn Sie die Installation von Python auf dem Computer des Datenintegrationsdiensts verwenden, legen Sie den Wert auf die ausführbare Python-Binärdatei im Informatica-Installationsverzeichnis auf dem Computer des Datenintegrationsdiensts fest.
Legen Sie die Eigenschaft z. B. fest auf:
infaspark.pythontx.exec=INFA_HOME/services/shared/spark/python/lib/python3.4
infaspark.pythontx.executorEnv.LD_PRELOAD
Erforderlich, um eine Python-Umwandlung auf der Spark-Engine für Data Engineering Streaming auszuführen. Der Speicherort der gemeinsam genutzten Python-Bibliothek im Python-Installationsordner auf dem Computer des Datenintegrationsdiensts.
Legen Sie die Eigenschaft z. B. fest auf:
infaspark.pythontx.executorEnv.LD_PRELOAD=
INFA_HOME/services/shared/spark/python/lib/libpython3.6m.so
infaspark.pythontx.executorEnv.PYTHONHOME
Erforderlich, um eine Python-Umwandlung auf der Spark-Engine für Data Engineering Integration und Data Engineering Streaming auszuführen. Der Speicherort des Python-Installationsverzeichnisses auf den Worker-Knoten im Hadoop-Cluster.
Legen Sie die Eigenschaft z. B. fest auf:
infaspark.pythontx.executorEnv.PYTHONHOME=/usr
Wenn Sie die Installation von Python auf dem Computer des Datenintegrationsdiensts verwenden, verwenden Sie den Speicherort des Python-Installationsverzeichnisses auf dem Computer des Datenintegrationsdiensts.
Legen Sie die Eigenschaft z. B. fest auf:
infaspark.pythontx.executorEnv.PYTHONHOME=
INFA_HOME/services/shared/spark/python/
infaspark.pythontx.submit.lib.JEP_HOME
Erforderlich, um eine Python-Umwandlung auf der Spark-Engine für Data Engineering Streaming auszuführen. Der Speicherort des Jep-Pakets im Python-Installationsordner auf dem Computer des Datenintegrationsdiensts.
Legen Sie die Eigenschaft z. B. fest auf:
infaspark.pythontx.submit.lib.JEP_HOME=
INFA_HOME/services/shared/spark/python/lib/python3.6/site-packages/jep/
infaspark.useHiveWarehouseAPI
Aktiviert den Hive Warehouse Connector. Setzen Sie den Wert auf TRUE.
Beispiel: infaspark.useHiveWarehouseAPI=true.
spark.authenticate
Ermöglicht die Authentifizierung für den Spark-Dienst in Hadoop. Für die Spark-Verschlüsselung erforderlich.
Setzen Sie den Wert auf TRUE.
Beispiel: spark.authenticate=TRUE
spark.authenticate.enableSaslEncryption
Ermöglicht eine verschlüsselte Kommunikation, wenn die SASL-Authentifizierung aktiviert ist. Erforderlich, wenn die Spark-Verschlüsselung die SASL-Authentifizierung verwendet.
Setzen Sie den Wert auf TRUE.
Beispiel: spark.authenticate.enableSaslEncryption=TRUE
spark.datasource.hive.warehouse.load.staging.dir
Verzeichnis für die temporären HDFS-Dateien, die für Batch-Schreibvorgänge in Hive verwendet werden. Erforderlich, wenn Sie den Hive Warehouse Connector aktivieren.
Legen Sie die Eigenschaft z.  B. auf /tmp fest.
spark.datasource.hive.warehouse.metastoreUri
URI für den Hive-Metastore. Erforderlich, wenn Sie den Hive Warehouse Connector aktivieren. Verwenden Sie den Wert für hive.metastore.uris aus den Eigenschaften der hive_site_xml-Clusterkonfiguration.
Setzen Sie beispielsweise den Wert auf thrift://mycluster-1.com:9083.
spark.driver.cores
Gibt die Anzahl der Kerne an, die von jedem Treiber zum Ausführen von Jobs auf der Spark-Engine verwendet werden.
Setzen Sie die Eigenschaft auf: spark.driver.cores=1
spark.driver.extraJavaOptions
Liste der zusätzlichen Java-Optionen für den Spark-Treiber.
Wenn Sie Datums-/Uhrzeitdaten innerhalb eines komplexen Datentyps in ein Hive-Ziel anhand eines Hortonworks HDP 3.1-Clusters schreiben, hängen Sie den folgenden Wert an die Eigenschaft an: -Duser.timezone=UTC
spark.driver.memory
Gibt den Prozessspeicher des Treibers an, der von der Spark-Engine zum Ausführen von Jobs verwendet wird.
Empfohlener Wert: Mindestens 256 MB für jede Datenquelle.
Setzen Sie die Eigenschaft auf: spark.driver.memory=3G
spark.executor.cores
Gibt die Anzahl der Kerne an, die jeder Executor-Prozess zum Ausführen von Tasklets auf der Spark-Engine verwendet.
Setzen Sie die Eigenschaft auf: spark.executor.cores=1
spark.executor.extraJavaOptions
Liste der zusätzlichen Java-Optionen für den Spark-Executor.
Wenn Sie Datums-/Uhrzeitdaten innerhalb eines komplexen Datentyps in ein Hive-Ziel anhand eines Hortonworks HDP 3.1-Clusters schreiben, hängen Sie den folgenden Wert an die Eigenschaft an: -Duser.timezone=UTC
spark.executor.instances
Gibt die Anzahl der Instanzen an, die jeder Executor-Prozess zum Ausführen von Tasklets auf der Spark-Engine verwendet.
Setzen Sie die Eigenschaft auf: spark.executor.instances=1
spark.executor.memory
Gibt die Arbeitsspeichermenge an, die jeder Executor-Prozess zum Ausführen von Tasklets auf der Spark-Engine verwendet.
Setzen Sie die Eigenschaft auf: spark.executor.memory=3G
spark.hadoop.hive.llap.daemon.service.hosts
Anwendungsname für den LLAP-Dienst. Erforderlich, wenn Sie den Hive Warehouse Connector aktivieren. VerwendenKopieren Sie den Wert für hive.llap.daemon.service.hosts aus den Eigenschaften der hive_site_xml-Clusterkonfiguration.
spark.hadoop.hive.zookeeper.quorum
Von Hive LLAP verwendete Zookeeper-Hosts. Erforderlich, wenn Sie den Hive Warehouse Connector aktivieren. Verwenden Sie den Wert für hive.zookeeper.quorum aus den Eigenschaften der hive_site_xml-Clusterkonfiguration.
spark.hadoop.validateOutputSpecs
Validiert, ob die HBase-Tabelle vorhanden ist. Für das Streamen von Mappings erforderlich, um in ein HBase-Ziel in einem Amazon EMR-Cluster zu schreiben. Legen Sie den Wert auf FALSE fest.
spark.scheduler.maxRegisteredResourcesWaitingTime
Die Anzahl der Millisekunden, die auf die Registrierung von Ressourcen gewartet wird, bevor eine Aufgabe geplant wird. Der Standardwert ist 30000. Verringern Sie den Wert, um Verzögerungen vor Beginn der Ausführung des Spark-Jobs zu reduzieren. Erforderlich, um die Leistung für Mappings in der Spark-Engine zu verbessern.
Setzen Sie den Wert auf 15000.
Beispiel: spark.scheduler.maxRegisteredResourcesWaitingTime=15000
spark.scheduler.minRegisteredResourcesRatio
Das Mindestverhältnis der registrierten Ressourcen, die vor Beginn der Aufgabenplanung erworben werden müssen. Der Standardwert ist 0,8. Verringern Sie den Wert, um jegliche Verzögerungen vor Beginn der Ausführung des Spark-Jobs zu reduzieren. Erforderlich, um die Leistung für Mappings in der Spark-Engine zu verbessern.
Setzen Sie den Wert auf 0,5.
Beispiel: spark.scheduler.minRegisteredResourcesRatio=0.5
spark.shuffle.encryption.enabled
Ermöglicht eine verschlüsselte Kommunikation, wenn die Authentifizierung aktiviert ist. Für die Spark-Verschlüsselung erforderlich.
Setzen Sie den Wert auf TRUE.
Beispiel: spark.shuffle.encryption.enabled=TRUE
spark.sql.hive.hiveserver2.jdbc.url
URL füor HiveServer2 Interactive. Erforderlich für die Verwendung des Hive Warehouse Connector. Verwenden Sie den Wert in Ambari für HiveServer2 JDBC URL.
spark.yarn.access.hadoopFileSystems
Kommagetrennte Liste externer Dateisysteme, auf die der Spark-Dienst zugreifen kann. Standardmäßig hat der Spark-Dienst Zugriff auf die Dateisysteme, die in „fs.defaultFS“ im Konfigurationssatz „core-site.xml“ der Clusterkonfiguration aufgeführt sind. Legen Sie diese Eigenschaft fest, um dem Spark-Dienst Zugriff auf zusätzliche Dateisysteme zu gewähren.
Wenn Sie eine Zuordnung in einem Cloudera CDP Public Cloud-Cluster ausführen und ein HDFS in einem Cloudera Data Lake-Cluster verwenden, müssen Sie den Zugriff auf dieses Dateisystem zulassen. Hängen Sie den Wert für die Eigenschaft fs.defaultFS an, der in der Datei core-site.xml auf dem Data Lake-Cluster gefunden wurde. Beispiel: spark.yarn.access.hadoopFileSystems=hdfs://infarndcdppamdl-master1.infarndc.src9-ltfl.cloudera.site:8020