sql调用python获取数据字段个数太多
源码:
for line in sys.stdin:
(tid, dp_id, customerno,...此处省略多个字段,共n个字段) = line.strip().split()
异常:
图1
原因:
根据测试,split分割数据以后获取n+m个数值,与预期的n个数值不对应,split默认以空格分割数据,而hive录入数据默认以制表符“\t”分割。
解决:
for line in sys.stdin:
(tid, dp_id, customerno,...此处省略多个字段,共n个字段) = line.strip().split(“\t”)
python print输出数据类型格式不准确
源码:
print "%s\t%s\t%s\t%s\t%d\t%f\t%s\t%g..." % (tid, dp_id, customerno, created, endtime, status, trade_from, type, pay_time, total_fee, ...)
异常:
图2
原因:
如上源码和问题1中的源码,括号内传入的数据都为string型。“%s”,“%f”,“%d”,“%g”是根据hive表中字段数据类型来定的。此处print输出数据至sql因为数据类型不匹配出现如上异常。
解决:
根据括号内的常数类型使用相应的输出类型,输出类型不是根据hive表字段数据类型来定,如上,括号内都是string类型,即所有输出使用“%s”。
sys.stdin输入python脚本中数据准确split后,字段个数不准确,问题类似于问题1
源码:
如问题1中源码。
异常:
图3
原因:
正常情况下,split后有41个字段数据,然而split后少于41个字段,经过测试,sys.stdin输入数据中,有字段有空值或者字段内容中含有\n \r \01等特殊字符,导致切割数据不准确。
解决:
构建表时加入:alter table_name set serdeproperties('serialization.null.format'='NULL');
sqoop脚本中加入:--hive-drop-import-delims
- 大小: 9 KB
- 大小: 7.8 KB
- 大小: 9.8 KB
分享到:
相关推荐
主要介绍了如何在python中写hive脚本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
一个简单的sql循环语句脚本
1.Hive交互shell bin/hive 2.Hive JDBC服务(参考java jdbc连接mysql) 3.hive启动为一个服务器,来对外提供服务 bin/hiveserver2 nohup bin/hiveserver2 1>/var/log/hiveserver.log 2>/var/log/hiveserver....
基于 Antlr4 的 Hive SQL 解析.zip 大学生课程设计 课程设计 自己大二写的课程设计
今天小编就为大家分享一篇shell中循环调用hive sql 脚本的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
HiveSQL基础(一).pdf
// 具有子查询的sql String hql = "select id,name from (select id from table_1 where id={p0}) t1 inner join (select name --this is name\n from table_2) t2"; // 获取id字段的血缘 LineageNode idNode = ...
Hive_Sql语法详述,平时工作中遇到的问题,用于Hadoop平台的数据挖掘。
40.大数据平台和HiveSQL.md40.大数据平台和HiveSQL.md40.大数据平台和HiveSQL.md40.大数据平台和HiveSQL.md40.大数据平台和HiveSQL.md40.大数据平台和HiveSQL.md40.大数据平台和HiveSQL.md40.大数据平台和HiveSQL.md...
HiveSQL解析原理
HiveSQL编译原理
包含HiveSQL题目以及Hive面试题
为hive-0.11半自动安装脚本 使用前请先阅读本脚本注释部分 已有hadoop环境可使用本脚本 因为初识shell脚本 望大虾勿喷 如有不吝赐教者 不胜感激
hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询...
hive hive 简单用法 希望能帮到需要的人,在学习中相互学习
深入浅出Hive企业级架构优化、Hive Sql优化、压缩和分布式缓存
HiveSQL详细和优化,以及部分个人点评 This is a brief tutorial that provides an introduction on how to use Apache Hive HiveQL with Hadoop Distributed File System. This tutorial can be your first step ...
HiveSQL窗口函数.pdf
hivesql解析 支持版本<!--<hive.version>1.0.0</hive.version> <hadoop.version>2.4.1</hadoop.version> --> <hive.version>2.0.1</hive.version> <hadoop.version>2.7.2</hadoop.version>
文章Hive面试题SQL测试题目所需数据,包含建表语句 测试数据等等...................