Hive 或 Impala 的数据类型与 对应底层的 Parquet schema的数据类型不兼容
来源:互联网 发布:合肥seo 编辑:程序博客网 时间:2024/06/01 19:19
背景: 修改了hive表的某些字段的数据类型,如从String -> Double , 此时,该表所对应的底层文件格式为Parquet,修改之后,更新Impala索引,然后查询修改数据类型的字段,会出现与Parquet schema 列数据类型不兼容的问题。
如: Impala ——
正在提取遇到以下错误的结果:
Bad status for request TFetchResultsReq(fetchType=0, operationHandle=TOperationHandle(hasResultSet=True, modifiedRowCount=None, operationType=0, operationId=THandleIdentifier(secret='D\x11\x18]\xf7\xa2E*\x8f\x99Ky\x9c\xc8\xda>', guid='D\x11\x18]\xf7\xa2E*\x8f\x99Ky\x9c\xc8\xda>')), orientation=4, maxRows=100): TFetchResultsResp(status=TStatus(errorCode=None, errorMessage="File 'hdfs://xxx:8020/user/hdfs/test/0f399649-1e1d-444b-9d71-24c8db0ac7f3.parquet' has an incompatible Parquet schema for column 'default.test.yyy'. Column type: DOUBLE, Parquet schema:\noptional byte_array QTY [i:30 d:1 r:0]\n", sqlState='HY000', infoMessages=None, statusCode=3), results=None, hasMoreRows=None)
查看其中错误信息 :
errorMessage="File 'hdfs://xxx:8020/user/hdfs/test/0f399649-1e1d-444b-9d71-24c8db0ac7f3.parquet' has an incompatible Parquet schema for column 'default.test.yyy'. Column type: DOUBLE, Parquet schema:\noptional byte_array QTY [i:30 d:1 r:0]\n"
对应Hive类似,解决方法,参考:
1. http://stackoverflow.com/questions/36085891/hive-doesnt-change-parquet-schema
2. https://issues.cloudera.org/browse/IMPALA-779
- Hive 或 Impala 的数据类型与 对应底层的 Parquet schema的数据类型不兼容
- Hive文件存储格式 :Parquet sparksql ,impala的杀手锏
- hive和impala操作parquet文件timestamp带来的困扰
- Schema的数据类型
- Impala与Hive的比较
- Impala与Hive的比较
- Impala与Hive的比较
- Impala与Hive的比较
- Impala与Hive的比较
- Impala与Hive的比较
- Impala与Hive的比较
- Impala与Hive的比较
- Impala与Hive的比较
- Impala与Hive的比较
- Impala与Hive的比较
- Impala与Hive的比较
- Impala与Hive的比较
- Impala与Hive的比较
- 三种增长模式
- URL中编码URL特殊字符
- Python Socket 编程,OSError: [Errno 98] Address already in use
- RT-thread内核之系统时钟
- iOS webview 加载html 乱码 需要UTF8转码
- Hive 或 Impala 的数据类型与 对应底层的 Parquet schema的数据类型不兼容
- linux 常用命令
- 俄罗斯受人口危机纠缠 国家未来前景黯淡
- iOS 知识基础
- 求质数&分解因式&lcm&整除
- #define导致Q_SLOT出问题。
- 自己编写比较器
- 命令行设置活动分区
- python 的公有和“私有”