DataFrames также может быть saved как постоянные таблицы в метафоре улья с использованием команды saveAsTable. Обратите внимание, что для использования этой функции не требуется развертывание Hive. Spark создаст локальный метастар Hive по умолчанию (используя Derby) для вас. В отличие от команды createOrReplaceTempView, saveAsTable будет материализовать содержимое DataFrame и создать указатель на данные в метафоре улья.
Стойкие таблицы будут существовать даже после перезапуска программы Spark, если вы поддерживаете соединение с тем же метасторе. DataFrame для постоянной таблицы может быть создан путем вызова метода таблицы на SparkSession с именем таблицы.
По умолчанию saveAsTable создаст «управляемую таблицу», что означает, что местоположение данных будет контролироваться метасторе. Управляемые таблицы также будут автоматически удалять свои данные при отбрасывании таблицы.
val cdrDF = rdd.map (PaymentProcessor.parseCallCreditCardRecord) .toDF() \ когда я попробовал cdrDF.saveAsParquetFile ("datafile.parquet", "/ tmp/xyz-dir /"), я вижу ошибку компилятора. Можете ли вы направляйте меня, если здесь что-то не хватает. –
@BindumaliniKK saveAsParquetFile Устаревший (начиная с версии 1.4.0) Используйте write.parquet (путь) [см.] (Https://spark.apache.org/docs/1.4.0/sql-programming-guide.html) и [1.3 подход] (https://spark.apache.org/docs/1.3.0/sql-programming-guide.html), Arvind PLS изменить соответствующим образом –
Я столкнулся с исключением: INFO org.apache.spark.sql.execution.datasources .parquet.ParquetRelation - Файл с листингами: /SparkSpace/PaymentCardFraudResearch/card.parquet на драйвере Исключение в потоке "main" java.lang.AssertionError: утверждение не выполнено: не найдено предопределенной схемы и нет файлов данных Parquet или итоговых файлов, найденных в файле : /SparkSpace/PaymentCardFraudResearch/card.parquet. \t at scala.Predef $ .assert (Predef.scala: 179) –