PySpark / Hive: ошибка раздела, помеченного как удаленного, при попытке выполнить запрос удаления разделов - PullRequest
0 голосов
/ 21 апреля 2020

Я пытаюсь удалить некоторые разделы, используя скрипт pyspark, параллельно выполняя несколько заданий в кластере AWS EMR. Я пытаюсь запустить следующий код:

spark.sql("USE db_stage_dev")

drop_query = "ALTER TABLE bt_table DROP IF EXISTS PARTITION (dia='2019-11-18', hora='09')".format(table_stage, partition)

spark.sql(drop_query).show()

И иногда возникает следующая проблема:

Traceback (most recent call last):
  File "/home/hadoop/code/processing_data_default/spark_submit_drop_partition.py", line 96, in <module>
    main()
  File "/home/hadoop/code/processing_data_default/spark_submit_drop_partition.py", line 83, in main
    spark.sql(drop_query).show()
  File "/usr/lib/spark/python/lib/pyspark.zip/pyspark/sql/session.py", line 767, in sql
  File "/usr/lib/spark/python/lib/py4j-0.10.7-src.zip/py4j/java_gateway.py", line 1257, in __call__
  File "/usr/lib/spark/python/lib/pyspark.zip/pyspark/sql/utils.py", line 69, in deco
pyspark.sql.utils.AnalysisException: u"org.apache.hadoop.hive.ql.metadata.HiveException: File 'bt_table/dia=2019-11-18' is marked as deleted in the metadata;"

Данные хранятся в S3-контейнерах

Когда я запускаю это вручную в оболочке pyspark, это всегда работает. Но при работе в контексте кластера происходит сбой.

...