Configuration de Spark pour l'accès au magasin de métadonnées du catalogue de données

  1. Accédez à Apache Ambari.
  2. Dans la barre d'outils latérale, sous Services, sélectionnez Spark3.
  3. Sélectionnez l'onglet Configs, puis développez la section Advanced spark3-defaults.
  4. Ajoutez ou mettez à jour la clé spark.sql.hive.metastore.jars avec la valeur suivante :
    /usr/lib/oci-dcat-metastore-client/lib/integration/*:/usr/lib/oci-dcat-metastore-client/lib/*:/usr/lib/hive/lib/*:{{spark_home}}/jars/*
  5. Ajouter ou mettre à jour la clé spark.sql.warehouse.dir avec le chemin d'accès au stockage d'objets pour la table gérée. Exemple : oci://bucket-name@tenancy-name-of-bucket/path/to/managed/table/directory.
  6. Développez la section Custom spark3-defaults (Spark3-defaults personnalisé).
  7. Ajoutez ou mettez à jour la clé spark.driver.extraJavaOptions avec la valeur suivante :
    -Doracle.dcat.metastore.client.show_provider_details=true -Doracle.dcat.metastore.client.custom.authentication_provider=com.oracle.pic.dcat.metastore.commons.auth.provider.UserPrincipalsCustomAuthenticationDetailsProvider -DOCI_TENANT_METADATA=ocid1.tenancy.oc1.<unique_ID> -DOCI_REGION_METADATA=<region-identifier> -DOCI_USER_METADATA=ocid1.user.oc1.<unique_ID> -DOCI_FINGERPRINT_METADATA=<user-finger-print> -DOCI_PVT_KEY_FILE_PATH=/private <key-file-path.pem> -DOCI_PASSPHRASE_METADATA="<passphase-of-the-key>" -Doci.metastore.uris=https://datacatalog.<region>.oci.oraclecloud.com:443 -Doracle.dcat.metastore.id=ocid1.datacatalogmetastore.oc1.<unique_ID>
  8. Ajoutez ou mettez à jour la clé spark.hadoop.fs.AbstractFileSystem.oci.impl avec la valeur com.oracle.bmc.hdfs.Bmc.
  9. Ajouter ou mettre à jour la clé spark.hadoop.fs.oci.client.hostname avec l'URL du stockage d'objets. Exemple : https://objectstorage.<region-identifier>.oraclecloud.com.
  10. Développez la section Custom spark3-hive-site-override (Spark3-hive-site-override personnalisé).
  11. Ajouter ou mettre à jour la clé hive.metastore.uris avec l'URL du magasin de métadonnées. Exemple : https://datacatalog.<region-identifier>.oci.oraclecloud.com:443.
  12. Ajouter ou mettre à jour la clé hive.metastore.warehouse.dir avec le chemin d'accès au stockage d'objets pour la table gérée. Exemple : oci://bucket-name@tenancy-name-of-bucket/path/to/managed/table/directory.
  13. Ajouter ou mettre à jour la clé hive.metastore.warehouse.external.dir avec le chemin d'accès au stockage d'objets pour la table externe. Exemple : oci://bucket-name@tenancy-name-of-bucket/path/to/external/table/directory.
  14. Développez la section Advanced spark3-thrift-sparkconf (Spark3-thrift-sparkconf avancé).
  15. Ajoutez ou mettez à jour la clé spark.sql.hive.metastore.jars avec la valeur suivante :
    /usr/lib/oci-dcat-metastore-client/lib/integration/*:/usr/lib/oci-dcat-metastore-client/lib/*:/usr/lib/hive/lib/*:{{spark_home}}/jars/*
    Note

    Assurez-vous que vous n'avez pas :{{hadoop_home}}/lib/*.
  16. Développez la section Custom spark3-thrift-sparkconf (Spark3-thrift-sparkconf personnalisé).
  17. Ajoutez ou mettez à jour la clé spark.driver.extraJavaOptions avec la valeur suivante :
    -Doracle.dcat.metastore.client.show_provider_details=true -Doracle.dcat.metastore.client.custom.authentication_provider=com.oracle.pic.dcat.metastore.commons.auth.provider.UserPrincipalsCustomAuthenticationDetailsProvider -DOCI_TENANT_METADATA=ocid1.tenancy.oc1.<unique_ID> -DOCI_REGION_METADATA=<region-identifier> -DOCI_USER_METADATA=ocid1.user.oc1.<unique_ID> -DOCI_FINGERPRINT_METADATA=<user-finger-print> -DOCI_PVT_KEY_FILE_PATH=/private <key-file-path.pem> -DOCI_PASSPHRASE_METADATA="<passphase-of-the-key>" -Doci.metastore.uris=https://datacatalog.<region>.oci.oraclecloud.com:443 -Doracle.dcat.metastore.id=ocid1.datacatalogmetastore.oc1.<unique_ID>
  18. Sélectionnez Redémarrer pour redémarrer le service Spark dans la grappe du service de mégadonnées.