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正则的属性可以被修改。

  • 相关阅读:
    zt 必看: 原来PCIe技术原理这么简单!
    zt linux:centos 解决SSH连接Linux超时自动断开
    idea总结和未来的想法
    linux一些技巧
    zt如何解决Verilog目前不支持数组型端口定义!
    高速设计学习-干货!高速串行Serdes均衡之FFE
    zt:tcpdump抓包对性能的影响
    zt:TCP 学习
    verdi使用
    IE 浏览器下 button元素自动触发click?
  • 原文地址:https://www.cnblogs.com/huaxiaoyao/p/10848203.html
Copyright © 2011-2022 走看看