Мне нужно загрузить фреймы данных, созданные в Databricks, в Azure Synapse. Теперь пример Microsoft требует настройки конфигурации Spark для Parquet, как показано ниже:
spark.conf.set(
"spark.sql.parquet.writeLegacyFormat",
"true")
Почему это должен быть устаревший формат (например, Spark 1.4 <)? Это обязательно? </p>
* В Databricks значение по умолчанию - False.
Приведенный выше оператор относится к сеансу, поэтому он не влияет на другие выполняемые задания, но мне интересно, почему нам нужно использовать устаревший формат?
Будет ли у нас альтернативный способ, такой как сохранение в виде файла Parquet (как False), а затем использование Polybase для запроса ADLSg2?
Буду признателен за ваши отзывы / советы заранее.
<<a href="http://spark.apache.org/docs/latest/configuration.html#runtime-environment" rel="nofollow noreferrer"> из Spark 3.0.0 >
Если это правда, данные будут записаны в способ Spark 1.4 и ранее. Например, десятичные значения будут записаны в формате массива байтов фиксированной длины Apache Parquet, который используют другие системы, такие как Apache Hive и Apache Impala. Если false, будет использоваться более новый формат Parquet. Например, десятичные дроби будут записаны в формате на основе int. Если вывод Parquet предназначен для использования с системами, которые не поддерживают этот новый формат, установите значение true.