我有一个增量表路径。基于此,我尝试使用
创建表create table if not exists dbo.DimCustomer
(CustomerSK BIGINT GENERATED BY DEFAULT AS IDENTITY,
first_name varchar(128),
last_name varchar(128),
HashKey binary,
DWIsEncryptedFl tinyint,
DWCreateDt timestamp NOT NULL,
DWLastUpdateDt timestamp NOT NULL)
USING DELTA location '/mnt/datalake/prepped/dimcustomer.delta/'
TBLPROPERTIES ('delta.columnMapping.mode' = 'name', 'delta.minReaderVersion' = '2', 'delta.minWriterVersion' = '5')
这给出了 AnalysisException:
The specified schema does not match the existing schema at dbfs:/mnt/datalake/prepped/dimcustomer.delta
并且建议使用 String 作为名字、姓氏。 但是,当我使用 String 替换时,它再次失败并出现相同的错误,但这次它建议使用 varchar(128)
无法解决问题。 任何帮助将不胜感激。
尝试诊断错误并提供解决方案,但不起作用
首先,创建表而不指定列,如下所示
create table if not exists dbo.DimCustomer
USING DELTA location '/mnt/datalake/prepped/dimcustomer.delta/'
TBLPROPERTIES ('delta.columnMapping.mode' = 'name','delta.minReaderVersion' = '2','delta.minWriterVersion' = '5')
从该表中找出缺少的内容。如果您需要强制执行数据类型,请计算出大小并重新创建相同的表。