Преобразование имен столбцов Delta Live Tables в Databricks
Я загружаю CSV-файл из смонтированного хранилища больших двоичных объектов в живую дельта-таблицу, и вот мой первоначальный запрос:
CREATE INCREMENTAL LIVE TABLE table_raw
COMMENT "Ingesting data from /mnt/foo"
TBLPROPERTIES ("quality" = "bronze")
AS
SELECT * FROM cloud_files("/mnt/foo/", "csv")
Мне нужно/хочу преобразовать имена столбцов (например, удалить знаки препинания, обрезать пробелы и т. д.). Как мне к этому подойти?
1 ответ
Прежде всего следует сказать, что очистку данных следует производить только в слое серебра. В бронзовом слое вы явно хотите оставить данные без изменений.
Если теперь вы хотите применить некоторую предварительную обработку данных или переименование столбцов, вы можете просто использовать общий синтаксис SQL в сочетании с функциями SQL pyspark (см. здесь ).
Например:
CREATE INCREMENTAL LIVE TABLE table_silver
COMMENT "Ingesting data from table_raw"
TBLPROPERTIES ("quality" = "silver")
AS
SELECT rtrim(a) AS ColumnName1
rtrim(b) AS ColumnName2
....
FROM LIVE.table_raw