Блоки данных Spark-Redshift: зависание при перезаписи режима, запись df в Redshift - PullRequest
0 голосов
/ 19 октября 2018

используя это в качестве начальной команды ...

PYSPARK_DRIVER_PYTHON=/opt/miniconda/bin/python nohup spark-submit --deploy-mode client --packages com.databricks:spark-redshift_2.10:3.0.0-preview1 --jars RedshiftJDBC4-1.2.1.1001.jar  s3_to_redshift_ingest.py    -t  tbl_tbl_name   -ic 201809 > tbl_tbl_name_dev.txt 2>&1

Я вижу, что df успешно записывается в временный каталог S3, но мой скрипт зависает при попытке копирования из S3 в Redshift.Вот мой код:

    w_mode = 'overwrite'

try:
    df.write\
    .format("com.databricks.spark.redshift")\
    .option("url","jdbc:redshift:<removed for posting>)\
    .option("dbtable", rs_target)\
    .option("tempdir", "<removed for posting>")\
    .option("aws_iam_role","<removed for posting>")\
    .option("extracopyoptions","TRIMBLANKS")\
    .option("extracopyoptions","MAXERROR 1000")\
    .option("extracopyoptions","TRUNCATECOLUMNS")\
    .option("tempformat","CSV GZIP")\
    .mode(w_mode)\
    .save()

При устранении неполадок я вижу двойные блокировки в экземпляре Redshift.Похоже, проблема заключается в двойных блокировках, но я не знаю, как этого избежать.

Redshift locks

Итак, кто-нибудь видел или лучше все же решил эту проблему?

...