Propriétés Spark prises en charge dans le service de flux de données

Pour chaque exécution d'une application de flux de données, vous pouvez ajouter des propriétés Spark dans le champ Propriétés de configuration Spark.

Pour plus d'informations sur ces options, voir le guide de configuration de Spark.
Important

Lorsque vous exécutez le service de flux de données, ne modifiez pas la valeur de spark.master. Si vous le faites, le travail n'utilise pas toutes les ressources que vous avez provisionnées.

Liste de configuration Spark propriétaire du service de flux de données

Configurations Spark propriétaires du service de flux de données et comment les utiliser.

Liste de configuration Spark du service de flux de données
Configuration Spark Description de l'utilisation Versions Spark applicables
dataflow.auth Le réglage de la valeur de configuration à 'resource_principal' active l'authentification du principal de ressource pour l'exécution du flux de données. Cette configuration est requise pour les exécutions prévues pour une durée supérieure à 24 heures. Avant d'activer le principal de ressource, configurez la politique appropriée. Toute
spark.dataflow.acquireQuotaTimeout Le service de flux de données vous permet de soumettre des tâches lorsque vous n'avez pas suffisamment de ressources pour les exécuter. Les tâches sont bloquées dans une file d'attente interne et libérées lorsque des ressources deviennent disponibles. Le service de flux de données continue de vérifier jusqu'à ce que la valeur de temporisation que vous avez définie soit terminée. Vous définissez la propriété spark.dataflow.acquireQuotaTimeout pour spécifier cette valeur de temporisation. Définissez la propriété sous Options avancées lors de la création d'une application ou lors de l'exécution d'une application. Par exemple :
spark.dataflow.acquireQuotaTimeout = 1h
spark.dataflow.acquireQuotaTimeout = 30m
spark.dataflow.acquireQuotaTimeout = 45min
Utilisez h pour représenter les heures de temporisation et m ou min pour représenter les minutes de temporisation.

Note : Si spark.dataflow.acquireQuotaTimeout n'est pas défini, une exécution n'est acceptée que si les ressources requises sont disponibles.

Toute
spark.archives#conda La configuration spark.archives utilise exactement les mêmes fonctionnalités que son contrepartie à source ouverte. Lorsque vous utilisez Conda comme gestionnaire d'ensembles pour soumettre des tâches PySpark dans le service de flux de données pour OCI, attachez #conda aux entrées d'ensemble d'artefacts afin que le service de flux de données extraie les artefacts dans un répertoire approprié.
oci://<bucket-name>@<namespace-name>/<path>/artififact.tar.gz#conda
Pour plus d'informations, voir Intégration de Conda Pack avec le service de flux de données).
3.2.1 ou ultérieure
spark.dataflow.streaming.restartPolicy.restartPeriod

Note : S'applique uniquement aux exécutions de type Diffusion en continu du service de flux de données.

Cette propriété spécifie un délai minimum entre les redémarrages d'une application Streaming. La valeur par défaut est réglée à 3 minutes pour éviter les problèmes transitoires entraînant de nombreux redémarrages au cours d'une période spécifique.

3.0.2, 3.2.1 ou ultérieure
spark.dataflow.streaming.restartPolicy.maxConsecutiveFailures

Note : S'applique uniquement aux exécutions de type Diffusion en continu du service de flux de données.

Cette propriété spécifie le nombre maximal d'échecs consécutifs pouvant survenir avant que le service de flux de données cesse de redémarrer une application de diffusion en continu qui a échoué. La valeur par défaut est 10.

3.0.2, 3.2.1 ou ultérieure
spark.sql.streaming.graceful.shutdown.timeout

Note : S'applique uniquement aux exécutions de type Diffusion en continu du service de flux de données.

La diffusion en continu du service de flux de données utilise la durée d'arrêt pour conserver les données de point de reprise afin de redémarrer correctement à partir de l'état précédent. La configuration spécifie le temps maximal que les exécutions de diffusion en continu du service de flux de données peuvent utiliser pour conserver correctement l'état du point de reprise avant d'être forcées de s'arrêter. La valeur par défaut est de 30 minutes.

3.0.2, 3.2.1 ou ultérieure
spark.oracle.datasource.enabled

La source de données Oracle pour Spark est une extension de la source de données JDBC pour Spark. Elle simplifie la connexion aux bases de données Oracle à partir de Spark. En plus de toutes les options fournies par la source de données JDBC pour Spark, la source de données Oracle pour Spark simplifie la connexion des bases de données Oracle à partir de Spark comme suit :

  • Portefeuille à téléchargement automatique à partir de la base de données autonome, ce qui signifie qu'il n'est pas nécessaire de télécharger le portefeuille et de le conserver dans le service de stockage d'objets ou de chambre forte.
  • Distribution automatique de l'ensemble de portefeuille du stockage d'objets vers le pilote et l'exécuteur sans code personnalisé des utilisateurs.
  • Les fichiers JAR du pilote JDBC suppriment donc la nécessité de les télécharger et de les inclure dans le fichier archive.zip. La version du pilote JDBC est 21.3.0.0.
Pour activer la source de données Oracle pour Spark, réglez la configuration spark.oracle.datasource.enabled à la valeur Vrai :
spark.oracle.datasource.enabled = true
Pour plus d'informations, voir Source de données Oracle pour Spark.
3.0.2 ou ultérieure
spark.scheduler.minRegisteredResourcesRatio

Valeur par défaut : 1.0

Note : Spécifié en tant que double entre 0,0 et 1,0.

Ratio minimal de ressources enregistrées par ressource attendue totale avant de programmer une exécution dans la couche Job. L'ajustement de ce paramètre implique un compromis entre un démarrage de tâche plus rapide et une disponibilité adéquate des ressources.

Par exemple, une valeur de 0,8 signifie que 80 % des ressources ont attendu.

Toute
spark.dataflow.overAllocationRatio

Valeur par défaut : 1.0

Note : Spécifié en tant que double supérieur ou égal à 1.0.

Ratio de création excessive de ressources pour éviter l'échec de la tâche résultant de l'échec de la création d'une partie mineure des instances. La création d'instance supplémentaire n'est facturée que pendant la phase de création et s'est terminée après le début de la tâche.

Par exemple, une valeur de 1,1 signifie que 10 % de ressources supplémentaires ont été créées pour répondre aux ressources attendues pour les tâches de client.

Toute