HIVE_CUROR_ERROR读取Athena表

尝试阅读Athena表时,选择查询返回HIVE_CUROR_ERROR消息

写由annapurna.hiriyur

2022年5月10日

问题

创建Athena外部表并使用指令集成三角湖Presto和Athena转三角湖集成文档记录

Athena外部表定义Apachehive元

外部表从 AthenaQuery编辑器运行选择查询并返回HIVE_CURSOR_ERROR.

HIVE_CUROR_ERROR:文件s3/
          

因果

问题的根源在于Hive和Apachespark使用的不同Parque协议

spark 1.4或以上使用当前分解格式,小数值写成整数先前版Parquet格式小数组以Apache定长字组格式写出小数组Parquet格式供Hive和Apacheibala等其他系统使用

结果,当数据类型内部表示方式因使用两种Parquet格式而不同时会报错

求解

asna或Presto访问三角湖管理表时, Parquet文件必须用与Hive兼容格式创建

hive无法选择派克大会,但Spark可以选择

设置spark.conf.set("spark.sql.parquet.writeLegacyFormat",True)属性集群级或笔记本级解决问题

集合级属性设置

  1. 编辑集群属性
  2. 点击高级选项.
  3. 选择spark实战.
  4. 输入属性设置spark配置字段内
  5. 确认更改
  6. 重开集群
删除

信息学

修改表DDL匹配spark数据类型不返回查询结果spark.conf.set("spark.sql.parquet.writeLegacyFormat",True)必须设置

请复习剖析配置文档获取更多信息



文章有帮助吗