Ошибка - Неверное имя пользователя или пароль - Клей соединение с Snowflake - PullRequest
0 голосов
/ 14 января 2020

Может ли кто-нибудь помочь мне решить проблему с «неправильным именем пользователя или паролем» при выполнении задания ETL. Я на 100% уверен, что предоставил правильное имя пользователя и пароль и дал нужные файлы jdb c, spark jar. Существует ли какой-либо конкретный формат c, который нам необходим для указания пароля или имени пользователя в параметрах задания, например, двойные кавычки или фигурные скобки или что-либо, что указывает c. :

Параметры:

Job parameters

Сценарий задания:

  import sys
  from awsglue.transforms import *
  from awsglue.utils import getResolvedOptions
  from pyspark.context import SparkContext
  from awsglue.context import GlueContext
  from awsglue.job import Job
  from py4j.java_gateway import java_import
  SNOWFLAKE_SOURCE_NAME = "net.snowflake.spark.snowflake"

  ## @params: [JOB_NAME, URL, ACCOUNT, WAREHOUSE, DB, SCHEMA, USERNAME, PASSWORD]
  args = getResolvedOptions(sys.argv, ['JOB_NAME', 'URL', 'ACCOUNT', 'WAREHOUSE', 'DB', 'SCHEMA', 
 'USERNAME', 'PASSWORD'])
  sc = SparkContext()
  glueContext = GlueContext(sc)
  spark = glueContext.spark_session
  job = Job(glueContext)
  job.init(args['JOB_NAME'], args)
  java_import(spark._jvm, "net.snowflake.spark.snowflake")

  ## uj = sc._jvm.net.snowflake.spark.snowflake

  spark._jvm.net.snowflake.spark.snowflake.SnowflakeConnectorUtils.enablePushdownSession 
  (spark._jvm.org.apache.spark.sql.SparkSession.builder().getOrCreate())
  sfOptions = {
      "sfUrl" : args['URL'],
      "sfaccount" : args['ACCOUNT'],
      "sfDatabase" : args['DB'],
      "sfSchema" : args['SCHEMA'],
      "sfWarehouse" : args['WAREHOUSE'],
      "sfUser" : args['USERNAME'],
      "sfPassword" : args['PASSWORD'],
    }

  dyf = glueContext.create_dynamic_frame.from_catalog(database = "salesforcedb", table_name = 
  "pr_summary_csv", transformation_ctx = "dyf")
  df=dyf.toDF()
  df.createOrReplaceTempView("temptable")
  sql_df = spark.sql("SELECT * FROM temptable")
  sql_df.write.format(SNOWFLAKE_SOURCE_NAME).options(**sfOptions).option("dbtable", 
  "abcdef").option("parallelism",8).mode("overwrite").save()
...