当前位置: 首页 > news >正文

网站域名备案注销女孩子读电子商务好就业吗

网站域名备案注销,女孩子读电子商务好就业吗,公司黄页什么意思,网页平台做个业务推广总结下dbt-spark踩到的坑,连接方式采用的是thrift连接 Kerberos认证。考虑到开源组件Kyuubi也是基于Hiveserver2,使用的thrift协议,所以采用Kyuubi执行SparkSQL。 官方文档给出的Thrift方式连接示例真的是简单,但是真是用起来真是…

        总结下dbt-spark踩到的坑,连接方式采用的是thrift连接 + Kerberos认证。考虑到开源组件Kyuubi也是基于Hiveserver2,使用的thrift协议,所以采用Kyuubi执行SparkSQL。

        官方文档给出的Thrift方式连接示例真的是简单,但是真是用起来真是一言难尽:

      

dbt-spark 连接踩坑历程:

        首先就是dbt-spark,这个python包是不带Kerberos包的,得手动自己再下载下!

        schema没啥问题,直接填Hive数据库的名称就好了,比如 dafault。

        host就有问题了,普通的spark thrift server是不支持HA的,但是Kyuubi是支持HA的,但是dbt-spark不支持配置HA方式的Kyuubi ! 所以Kyuubi HA的方式在这里算是废了,这里的host直接填Kyuubi 主节点的地址。Kyuubi HA模式下,host 和 port 是注册在ZK上的,可以使用ZK的命令查出来。Kyuubi 一般不适用ssl,所以顺带 use_ssl 配置为false。

        然后就来到了当时折磨人的 Kerberos 认证配置环节,各种配置发现都不行,dbt给出来的错误信息也很少。翻看了下dbt-spark底层的源码,发现它底层是通过pyHive库去连接Hive的,所以此时强烈建议自己写一个PyHive进行Kerberos认证连接Hive的demo!一下子就能看出来报错Yarn队列没有配置!

        最终配置如下:

my_spark_profile:
target: dev
outputs:
dev:
type: spark
method: thrift
schema: default
host: you-kyuubi-host
port: 10009
auth: KERBEROS
kerberos_service_name: hive
use_ssl: false
server_side_parameters:
"mapreduce.job.queuename": "you-yarn-queue-fullname"
"spark.yarn.queue": "you-yarn-queue-fullname"
"hive.exec.dynamici.partition": "true"
"hive.exec.dynamic.partition.mode": "nonstrict"

        使用如下命令执行kinit -kt /home/***/you_kerberos.keytab you_kerberos.princal && dbt run 

dbt-spark 执行踩坑历程:

        如果你的Hive库下挂载了kudu或者HBase外部表,这个时候就会报错:

org.apache.hadoop.hive.ql.metadata.HiveException: Error in loading storage handler.org.apache.hadoop.hive.kudu.KuduStorageHandler

        因为dbt底层会执行sql:show table extends in you-database like '*',全库扫描获取所有表的元数据信息,kudu表的元数据据信息识别会报错。有两种解决思路:

        1. 往spark lib 下把spark-kudu jar加入,但是我们因为怕影响到其他人的作业,没有采用这种方法...

        2. 修改dbt-spark源码。害,虽然有点麻烦,最终还是通过这种方式解决的

        如下是dbt-spark源码,上面标红的地方是dbt默认获取表元数据信息的方式 show table extends 。下面标红的框是为iceber定制的获取元数据的方式,先通过show tables 获取所有的表信息,然后再通过describe table 获取表的information信息。

        so,有一个简单粗暴的方案就是把下面的代码提上来,但是性能并不会太好,hhh。还有一种方式是想办法把待执行的模型名称传入,把sql修改为 show table extends *** like 'you_table_name',这种方式的话性能能有个好几倍的提升!还是看个人的业务适合使用哪种方式把。

http://www.yayakq.cn/news/833092/

相关文章:

  • 我想做网站怎么做泉州百度网站快速优化
  • 如何建立游戏网站南京已经开始二次感染了
  • 民权平台网站建设优化防疫措施
  • 禹顺生态建设有限公司网站南昌网站设计制作
  • 个人简约网站模板做国外网站需要多少钱
  • 凡科网商城是正规网站吗极速网站制作
  • 南昌网站维护北京做网站建设的公司有哪些
  • 加大整合力度网站集约建设大连网站建设怎么样
  • 电子商务网站登录学校网站开发的项目背景
  • 网站开发算是固定资产吗怎样创建网站网站
  • 网站怎么做json数据建设农场网站
  • 学校特色网站建设情况网站建设详细报价单
  • 淄博建网站建设一个收入支出持平的网站
  • 苏州做管网gis的网站番禺人才网上
  • 外贸公司网站模板免费wordpress文章列分页
  • 网站关键词排名外包瑞翔网站建设
  • 成都门户网站十大网站建设
  • 网站正在建设中网页自己怎么创建网址
  • 单位网站建设的不足wordpress调用二级分类目录
  • 北湖区网站建设公司哪家好网站主题选择
  • 做网站要素专业建设工作计划
  • 北京电商网站开发多少钱网站添加百度地图标注
  • 网站底部广告代码深圳网站建设 联雅
  • j2ee网站开发开题报告猪八戒小程序开发报价
  • php网站后台开发关于怎么做网站
  • 佛山专业的做网站的黑色装修网站源码dede
  • 企业做网站优劣常州市中大建设工程有限公司网站
  • 自己建网站多少钱十大永久免费财务软件
  • 郑州手机网站设计网站关键词多少个
  • 买个域名就可以建立网站吗公众号开发 网站开发