首页 > 解决方案 > Parquet 或 Avro 数据格式的外部表引发错误

问题描述

我创建了一个外部表来从 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 的文件夹结构:- logs / {AppId}/ 2020 / 05 / 07

外部表定义:

.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"   
)

注意:如果我提供完整的文件路径并从外部表定义中删除源目录分区,它运行良好。 但我需要为目录中的所有文件准备好数据,而不仅仅是一个。

任何帮助深表感谢。

标签: azure-data-explorerkql

解决方案


这是一个正在解决的已知问题。您可以打开支持票证(Azure 数据资源管理器)。问题解决后,团队还将在此处发布更新。

[编辑] 这个问题应该已经解决了。


推荐阅读