amazon-web-services - 配置单元查询抛出错误输入字符串: “__HIVE_D”不是整数

标签 amazon-web-services apache-spark hadoop hive aws-glue

我有一个正在使用AWS Glue元存储的Hive表。数据位于S3上,我们按年,月和唯一编号进行分区。

我使用AWS EMR spark-sql运行查询

这是一个示例表结构:

String                  Date          Int       Int        String
s3_url                  rec_dt        yr_number mth_number uniq_id
s3://path/example.txt   2020-03-16    2020      3          4195

现在,只要在以下命令下运行,只要查询此表,它都可以正常运行:
select s3_url from table where (rec_dt in ('2020-03-16'))

但是,当我添加以下参数时,它会引发错误:
select s3_url from table where (rec_dt in ('2020-03-16')) and yr_number=2020;

错误
Error in query: org.apache.hadoop.hive.metastore.api.InvalidObjectException: 

For input string: "__HIVE_D" is not an integer. 

(Service: AWSGlue; Status Code: 400; Error Code: InvalidInputException; 

Request ID: 586ff8e1-8f67-4593-940d-9f992a073be3);

我也检查了表模式,该列是一个int,我也传递了一个int值。

最佳答案

似乎这清楚地表明了 hive 目录和胶目录的结构不匹配。您说您已经在该列中看到了 hive 目录

检查AWS胶目录中的此列是否具有指定的数据类型。

用于检查架构详细信息的UI示例...

enter image description here

我希望你正在使用the AWS Glue Data Catalog as the Hive metastore

关于amazon-web-services - 配置单元查询抛出错误输入字符串: “__HIVE_D”不是整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60729320/

相关文章:

hadoop - Spark 2.0 弃用 'DirectParquetOutputCommitter' ,没有它怎么活?

hadoop - 如何在Hadoop 1.2.1上安装snappy

hadoop - 将Solr索引同步到Hadoop友好格式

android - 尝试上传到 AWS s3 时出现 SSL 异常

node.js - 如何使用 cognito 创建用户帐户,但使用不同的验证服务?

mysql - Coda 可以访问我的 AWS 数据库吗?

java - Amazon Forecast 查询 Java 集成

apache-spark - DataFrame对象没有属性 'col'

scala - 如何获取所有值为空的列名?

hadoop - reducer 可以写入两个不同的文件吗?