使用Azure数据工厂生成的Parquet-无法在配置单元中创建表



Parquet文件是从Azure数据工厂生成的(复制活动-从Azure SQL复制到数据湖中的Parquet(。当我尝试从Hive读取相同的镶木地板时,它给出了org.apache.parquet.io.ParketDecodingException的错误:无法读取块中0处的值。

若您使用Spark生成拼花地板,那个么您可以设置Spark.sql.parquet.writeLegacyFormat=true,但如何在Azure数据工厂中处理同样的事情。

即将发布十进制转换

此问题是由Hive和Spark中使用的不同镶木地板约定引起的。

我假设Hive将小数猜测为固定字节,但Spark实际上将它们写成INT32,表示1<=精度<9和INT 64用于10&lt精度&lt=18.

类似这样的错误是由具有DECIMAL字段的架构引起的。请尝试使用DOUBLE而不是DECIMAL

相关内容

  • 没有找到相关文章

最新更新