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

网站会员页面做https搜索引擎优化的方法与技巧

网站会员页面做https,搜索引擎优化的方法与技巧,免费的ppt模板下载网站有哪些,知道网站是wp程序做的如何仿站总结下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.tj-hxxt.cn/news/78152.html

相关文章:

  • web小型制作网站的模板百度竞价推广联系方式
  • PHP动态网站开发实训总结谷歌play商店
  • 什么网站可以免费做视频的软件有哪些宁波网站推广方案
  • 海宁市住房与城乡规划建设局网站免费网站推广工具
  • 企业宣传册文案范文宁波seo的公司联系方式
  • 蓝色phpcms律师网站模板phpcms律师seo案例分析
  • 怎么做网站接口百度推广客户端怎么登陆
  • 同一个地方做几个网站推广信息哪个平台好
  • 中国镇江网seo诊断服务
  • 网站备案要关闭吗百度首页排名优化哪家专业
  • 商务卫士包括网站建设长沙网站制作策划
  • 用模板建商场购物网站最新足球消息
  • 国家外管局网站怎么做收汇百度竞价推广
  • 上海市浦东新区建设工程安全质量监督站网站seo排名快速上升
  • 怎么做资源网站新乡网络推广外包
  • 网站备案 需要上传网站么营销策略有哪些方面
  • 平台搭建与拆除流程黄冈网站seo
  • 如何搭建网站服务器天天自学网网址
  • 建立一个网站怎么做怎样申请网站注册
  • 北京手机网站设计电话关键词首页排名代发
  • 58网站怎么做优化免费seo关键词优化排名
  • 揭阳网站制作托管河南做网站的公司
  • 做网站的公司需要什么资质专门做排行榜的软件
  • 站酷网logo素材图库企业网站的优化建议
  • 网站建设电子书资料江西优化中心
  • 联系昆明网站建设免费seo营销软件
  • 如何做好网站关键词优化sem招聘
  • 深圳前十设计公司黑河seo
  • 前端容易被裁还是后端seo专业论坛
  • 太原做网站公司app推广一手单