Parquet 或 Avro 数据格式的外部 Table 抛出错误
External Table for Parquet or Avro data format throws error
我创建了一个外部 table 来从 ADLS 中获取 Parquet 数据,但抛出了以下错误。
Query execution has resulted in error (0x80131500): Partial query failure: 0x80131500 (message: 'Input parquet file is ill-formed and cannot be processed: 'not a Parquet file (size too small)'.: ', details: 'Source: Kusto.Common.Svc [0]Kusto.Common.Svc.Exceptions.IngestionSourceParquetReaderException: Input parquet file is ill-formed and cannot be processed: 'not a Parquet file (size too small)'. Timestamp=2020-05-07T11:22:42.0340199Z
ADLS 文件夹结构:-
日志/{AppId}/2020/05/07
外部Table定义:
.create external table ExTParquet (AppId:string,UserId:string,Email:string,RoleName:string,Operation:string,EntityId:string,EntityType:string,EntityName:string,TargetTitle:string,Params:string,EventProcessedUtcTime:datetime,PartitionId:string,EventEnqueuedUtcTime:datetime)
kind=blob
partition by
AppId,
bin(EventProcessedUtcTime,1d)
dataformat=parquet
(
h@'https://streamoutalds2.blob.core.windows.net/stream-api-raw-parquet/logs;secret_key'
)
with
(
folder = "ExternalTables"
)
注意:如果我提供完整的文件路径并从外部 Table 定义中删除源目录分区,则效果很好。
但是我需要为目录中的所有文件准备数据,而不仅仅是一个文件。
非常感谢任何帮助。
这是一个正在解决的已知问题。您可以打开支持票证 (Azure Data Explorer)。问题解决后,该团队也会 post 在这里更新。
[编辑]问题应该已经解决了。
我创建了一个外部 table 来从 ADLS 中获取 Parquet 数据,但抛出了以下错误。
Query execution has resulted in error (0x80131500): Partial query failure: 0x80131500 (message: 'Input parquet file is ill-formed and cannot be processed: 'not a Parquet file (size too small)'.: ', details: 'Source: Kusto.Common.Svc [0]Kusto.Common.Svc.Exceptions.IngestionSourceParquetReaderException: Input parquet file is ill-formed and cannot be processed: 'not a Parquet file (size too small)'. Timestamp=2020-05-07T11:22:42.0340199Z
ADLS 文件夹结构:- 日志/{AppId}/2020/05/07
外部Table定义:
.create external table ExTParquet (AppId:string,UserId:string,Email:string,RoleName:string,Operation:string,EntityId:string,EntityType:string,EntityName:string,TargetTitle:string,Params:string,EventProcessedUtcTime:datetime,PartitionId:string,EventEnqueuedUtcTime:datetime)
kind=blob
partition by
AppId,
bin(EventProcessedUtcTime,1d)
dataformat=parquet
(
h@'https://streamoutalds2.blob.core.windows.net/stream-api-raw-parquet/logs;secret_key'
)
with
(
folder = "ExternalTables"
)
注意:如果我提供完整的文件路径并从外部 Table 定义中删除源目录分区,则效果很好。 但是我需要为目录中的所有文件准备数据,而不仅仅是一个文件。
非常感谢任何帮助。
这是一个正在解决的已知问题。您可以打开支持票证 (Azure Data Explorer)。问题解决后,该团队也会 post 在这里更新。
[编辑]问题应该已经解决了。