Параметры Spark DSv2 и свойстваJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Параметры Spark DSv2 и свойства

Сообщение Anonymous »

Я пытаюсь создать источник данных DSv2, и меня немного смущает, в чем должны заключаться различия между аргументами «options» и «properties», передаваемыми в некоторые функции TableProvider.

Код: Выделить всё

/**
* Infer the schema of the table identified by the given options.
*
* @param options an immutable case-insensitive string-to-string map that can identify a table,
*                e.g. file path, Kafka topic name, etc.
*/
StructType inferSchema(CaseInsensitiveStringMap options);

/**
* Return a {@link Table} instance with the specified table schema, partitioning and properties
* to do read/write. The returned table should report the same schema and partitioning with the
* specified ones, or Spark may fail the operation.
*
* @param schema The specified table schema.
* @param partitioning The specified table partitioning.
* @param properties The specified table properties. It's case preserving (contains exactly what
*                   users specified) and implementations are free to use it case sensitively or
*                   insensitively. It should be able to identify a table, e.g. file path, Kafka
*                   topic name, etc.
*/
Table getTable(StructType schema, Transform[] partitioning, Map properties);
Комментарии над подписями в интерфейсе дают одни и те же примеры для обоих: путь к файлу, имя темы Kafka и т. д. И фактическое значение, передаваемое обоим, кажется одинаковым. Если я передам .option("foo", "bar") в вызов чтения, эта пара ключ-значение будет присутствовать как в параметрах, так и в свойствах.
Все равно разные имена для этих аргументов, а также тот факт, что одно из них нечувствительно к регистру, а другое не означает, что они предназначены для использования для разных целей.
Я нашел эту статью: https://docs.databricks.com/aws/en/sql/ ... properties, который, честно говоря, мало что мне дает, и я даже не уверен на 100%, что это относится к одному и тому же. В нем говорится, что свойства таблицы инициализируются при CREATE TABLE. Должны ли свойства быть постоянными, если, например, я устанавливаю их при создании таблицы кустов или чего-то еще, тогда как параметры предназначены для чтения/записи?
Прошу прощения, если это наивный вопрос. Любое направление здесь будет высоко оценено. Кроме того, если кто-нибудь знает какую-нибудь полезную информацию об основах построения источника данных DSv2, это будет очень и очень полезно. Я не смог найти многого.

Подробнее здесь: https://stackoverflow.com/questions/796 ... properties
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»