我尝试使用从云存储加载样本数据到表指南将csv文件(无标头)加载到增量表中,但我找不到任何如何定义源文件架构/标头的说明。
COPY INTO my_table
FROM '/path/to/files'
FILEFORMAT = <format>
FORMAT_OPTIONS ('inferSchema' = 'true')
COPY_OPTIONS ('mergeSchema' = 'true');
根据增量复制到和FORMAT_OPTIONS文档,我认为enforceSchema
是正确的选择,但如何使用SQL API提供模式定义?
1条答案
按热度按时间yqlxgs2m1#
如果你的文件中没有头文件,Spark会自动为它们命名,比如
_c0
,_c1
,等等,并把它们放到表中。如果你想给予一个有意义的名字,你需要使用稍微不同的语法,使用SELECT
选项,它将给你重命名列的能力,并在必要时进行类型转换。像这样(转换只是为了举例):另外,我不确定
infrerSchema
是否适合在这里使用,因为您可能需要执行强制转换等操作。