zoukankan      html  css  js  c++  java
  • 学习Hive遇到的问题

    学习Hive遇到的问题

    配置了mysql为元数据库后,然后新建了一个表test(id int,name string)
    hive> show tables;
    OK
    test
    Time taken: 1.759 seconds
    hive> drop table test;
    FAILED: Error in metadata: MetaException(message:javax.jdo.JDODataStoreException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1
    NestedThrowables:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1)
    FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask
    然后再执行show tables命令同样报以上错误

    同样在执行其他语句是会显示使得已经存在的表会提示不存在

    还有

    Error: Error while compiling statement: FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: MetaExcepttax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=
    0: jdbc:hive2://hadoop-11:10000> show tables;

    解决:

    • mysql的版本和驱动的版本不匹配导致的,我的mysql版本是5.7的,刚开始使用的驱动是5.1.17,这个版本还支持SQL_SELECT_LIMIT参数,但是mysql5.7已经抛弃了这个参数,所以会报上面错误,换成驱动5.1.39后解决。
    • 如是在阿里云上搭建的hive出现同样的问题则要在 修改cm元数据库那个步骤上将/usr/share/java 下的驱动更换。
  • 相关阅读:
    【每日一题-leetcode】 47.全排列 II
    【每日一题-leetcode】46.全排列
    【每日一题-leetcode】 77.组合
    【每日一题-leetcode】105.从前序与中序遍历序列构造二叉树
    【每日一题-leetcode】297.二叉树的序列化与反序列化
    【读书笔记】《淘宝技术这十年》
    python第17天-网络复习
    python编码风格
    python第16天-网络4
    python第15天-网络3
  • 原文地址:https://www.cnblogs.com/yyb6/p/13782047.html
Copyright © 2011-2022 走看看