zoukankan      html  css  js  c++  java
  • hdp3.1 hive 3.0的使用记录

    近来在做项目中的技术调研,使用最新版的hdp3.1,其中使用spark2.3和hive 3.1.

    遇到 一些问题,记录如下:

    一,使用spark-sql client driver去访问hive创建的数据库,发现找不到,使用presto访问hive,只能读写外部表。

    经过查询资料了解到,hive3.1默认对内部表支持事务和ACID特性,spark等外部工具无法直接读取ACID的表数据,

    spark新版本正在跟进,但spark-sql本身也在和hive分离,走自己的路,已经和hive共用一个元数据库,但是使用不同的

    catalog,存不同的元数据。

    如果想使用spark-sql来处理hive的表数据,则需要做如下调整:

    1.在advanced spark2-hive-site-override中配置metastore.catalog.default=hive之后重启spark2 服务,
    这样就可以看到hive创建的数据库和表,但是只能访问外部表,无法访问内部表,原因上面已说明。

    2.如果想使用presto,spark-sql来访问hive3.1的表,则需要做如下调整,放弃acid和事务特性。

     hive.strict.managed.tables=false
    hive.create.as.insert.only=false
    metastore.create.as.acid=false
    这三个属性设置之后,重启hive server2,这样hive 放弃了事务,acid的特性,生成的表数据,spark-sql,presto
    就可以读取了。
    二,使用kylin生成cube报错,无法修改hive运行时属性xxxxx

    * hive.security.authorization.sqlstd.confwhitelist
    Kylin在执行作业的时候,需要做一些mapreduce的优化,set xxx=xxx,但报错,显示不能在运行时修改,
    经查可以配置这个属性,符合这个java正则的属性可以被修改。

  • 相关阅读:
    Java 常见异常种类
    关系型数据库和非关系型数据库的区别
    HTTP中Get与Post的区别
    经典排序算法详细总结。
    新浪实时股票数据接口http://hq.sinajs.cn/list=股票代码
    WinIo驱动级键盘模拟编程
    Logback_日志使用详解(转)
    Java_位运算(移位、位与、或、异或、非)
    算法_bitmap算法
    Selenium_IEDriver操作sendkeys输入速度太慢
  • 原文地址:https://www.cnblogs.com/huaxiaoyao/p/10848203.html
Copyright © 2011-2022 走看看