我正在尝试在Azure数据仓库中为Hive表创建一个polybase外部表,该表存储为ORC(HD insight Data lake)并按日期分区,当我查询外部表时它在SQL服务器中失败而没有任何正确的错误消息。
当我不使用分区时,我可以使用外部表访问配置单元ORC表,但是对于分区,我没有任何正确的错误消息,我得到以下错误。
错误:
Msg 106000,Level 16,State 1,Line 33 Index:23,Size:23
详情:
蜂巢表:
CREATE EXTERNAL TABLE DL_ClickStream_fnl(
。)分区(TIME_STAMP日期)存储为ORC;
Azure DW外部表:
CREATE EXTERNAL TABLE [stg]。[dl_clickstream_procd](
)WITH(DATA_SOURCE = [AzureDataLakeStore_clusters],LOCATION = N'clusters / BLMSpark / hive / warehouse / coremetrics.db / dl_clickstream_procd',FILE_FORMAT = [ORCFileFormat_DL],REJECT_TYPE = VALUE,REJECT_VALUE = 2)
文件格式:
创建外部文件格式[ORCFileFormat_DL] WITH(FORMAT_TYPE = ORC)
答案 0 :(得分:0)
在Hive中,分区列是从目录元数据派生的虚拟列。 PolyBase直接读取文件无法填充分区列。在SQL DW外部表DDL中,删除按列分区的内容,您的负载应该可以正常工作。