Я использую версию delta lake с OSS вместе с Spark 3.0.1. Мой текущий вариант использования требует, чтобы я обнаружил все текущие разделы в заданной дельта-таблице.
Мои данные хранятся в './data/raw'
и разделены столбцом sensorId
(указанный путь является относительным путем к моему скрипту python).
Я пытаюсь использовать синтаксис SHOW PARTITIONS
, как указано в документация. Однако я получаю ошибки.
Вот как выглядит мой код:
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("TestScript").getOrCreate()
df=spark.sql("SHOW PARTITIONS delta.`./data/raw`")
df.show()
Команда spark-submit выглядит следующим образом:
spark-submit --packages io.delta:delta-core_2.12:0.8.0 --conf "spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension" --conf "spark.sql.catalog.spark_catalog=org.apache.spark.sql.delta.catalog.DeltaCatalog" test_script.py
И я получаю следующую ошибку:
pyspark.sql.utils.AnalysisException: Database 'delta' not found;
Другой мой вопрос, связанный с этим, заключается в том, предоставит ли SHOW PARTITIONS
мне все разделы или это ограничит результат. Если есть предел, как лучше всего обнаружить / получить все разделы дельта-таблицы.