Hive Web查询语句插入mysql数据库时报错

最近用户一直抱怨Hive Web Client在提交某些查询后,不会返回结果到前端,比如join五张表的语句就不行,只有去掉一个join

先查询写入一张临时表,再和最后一张表join才行。

我后来debug了下,发现语句确实是成功执行了的,而且结果文件已经dump到hive web的本地系统文件中,这就有点奇怪了,难道是输出格式不对或者结果中

有脏字符,在逐一排除掉其他可能的问题后,最终定位到将query写回mysql db这段逻辑,由于需要保存用户提交的query,执行时间,结果文件路径等供用户二次查看下载,在语句执行完后,

会将这些信息通过ORM框架(mybatis)写入mysql中,然而之前在设计mysql中hivequery字段的时候没考虑用户会写很长的语句,就设置了varchar(1000),也就是query最多保存1000个字符,如果超过1000个字符就会发生错误,这就导致了虽然语句执行成功了,但是差在最后一口插mysql的气上,整个执行failed。

varchar是mysql字符变长类型,长度范围可指定在0到65535,不过我们也可以使用text类型(TEXT is stored off the table with the table just having a pointer to the location of the actual storage),最大长度也是65535,我在sqlyog中修改列schema 为varchar(65535)它会自动帮我切换到text类型,改完schema后,之前长query就能顺利插入db了。

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/extra/

时间: 2024-09-17 03:27:19

Hive Web查询语句插入mysql数据库时报错的相关文章

请大神给我写条sql查询语句,mysql 数据库,谢谢

问题描述 请大神给我写条sql查询语句,mysql 数据库,谢谢 查询第一张表为空,再去查询第2张表,不为空就取第一张表里的数据,第一张表的数据是和 第2张表里的一样的,是多表查询,谢谢,坐等大神来赐教 解决方案 要用外键的哦!select ... from a,b where a.ID=b.ID,这个是参考的哦!希望可以帮助您!

sqlserver2008迁移-sql server2008数据导进mysql数据库时报错

问题描述 sql server2008数据导进mysql数据库时报错 我使用的是navicat for mysql工具导入:首先选择导入向导-->选择ODBC导入类型--->选择s数据源:sql server Native client for 10.0-->输入服务器名称.用户名.密码.数据库.点击测试连接时,显示链接成功.最后点确定时报错了:无法打开文件provider=sqlncli10........;server spn="":这个错误 怎么解决? 解决方案

spring springmvc mybatis整合时,tomcat启动正常,查询数据库时报错

问题描述 spring springmvc mybatis整合时,tomcat启动正常,查询数据库时报错 Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'root'@'localhost' (using password: YE

php-PHP菜鸟求解,insert命令总是无法插入mysql数据库

问题描述 PHP菜鸟求解,insert命令总是无法插入mysql数据库 这是connect.php文件 <?php @mysql_connect("localhost:3306","root","123456") or die("sql连接失败"); @mysql_select_db("yhy") or die("yhy连接失败"); //mysql_query("set

【技术贴】java插入mysql中文乱码解决|java插入mysql数据库显示问号?

[技术贴]java插入mysql中文乱码解决|java插入mysql数据库显示问号?   在你要连接到mysql 的代码里写上?useUnicode=true&characterEncoding=UTF-8" 比如 "jdbc:mysql://localhost:3306/chenluancl1?useUnicode=true&characterEncoding=UTF-8", "root","密码"

操作-【急】问一个关于java web中tomcat连接mysql数据库的问题(问题点数40无满意结贴

问题描述 [急]问一个关于java web中tomcat连接mysql数据库的问题(问题点数40无满意结贴 我是计科专业在做毕业设计没接触过java,做一个在线答疑系统,在csdn上下了一个jsp+struts2+spring的感觉比较全的系统,下载地址为http://download.csdn.net/detail/hmshust/6950301,该文是0积分的,下载的如图![图片说明](http://img.ask.csdn.net/upload/201505/07/1431008698_8

mysql的Workbench导出数据库时报错,,,求解答

问题描述 mysql的Workbench导出数据库时报错,,,求解答 我的电脑 用户目录名字是中文 导致导入导出出错,,,就是想问下,能怎么解决(在不重装系统的前提下) 解决方案 导入导出不成功的问题我碰到过,后来我是用Navicat Premium这个传输工具解决的,里面有很多种格式可转换,但并不是每一种都能导出成功. 100%能成功的经验是: 1.先把你要导出的表数据导出到一个xml格式的文件: 2.再把这个xml文件导入到目的表,导出时有点要注意的是:在提示你选择"表示一个表行的标签&qu

用查询语句怎样获得数据库里所有数据表的名称

问题描述 请高手帮忙,怎么用查询语句获得某个数据库里所有数据表的名称呀?谢谢了. 解决方案 解决方案二:select*fromsysobjectswherextype='u'解决方案三:selectnamefromsysobjectswherextype='S'数据库中所有的系统数据表);selectnamefromsysobjectswherextype='u'数据库中所有的用户的表名;解决方案四:非常感谢啦,解决方案五:晚了一天.

C#ExecuteNonQuery操作mysql数据库报错

问题描述 C#ExecuteNonQuery操作mysql数据库报错 public void ExcelToDataSet() { try { OpenFileDialog openfiledialog = new OpenFileDialog(); openfiledialog.Filter = "Execl files (*.xlsx)|*.xlsx"; openfiledialog.FilterIndex = 0; openfiledialog.RestoreDirectory