Flink sql 集成hive metastore

櫰木4个月前技术文章136

1、前置条件

**确认hive metastore版本(本次版本3.1.2) **

hive metastore 部署成功

hive依赖jar包分发到每个flink节点:

/flink-1.13.6
   /lib

       // Flink's Hive connector
       flink-connector-hive_2.11-1.13.6.jar //在https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/connectors/table/hive/overview/ 下载

       // Hive dependencies
       hive-exec-3.1.0.jar
       libfb303-0.9.3.jar // libfb303 is not packed into hive-exec in some versions, need to add it separately

       // add antlr-runtime if you need to use hive dialect
       antlr-runtime-3.5.2.jar
  	   // hadoop jar包
  	   flink-shaded-hadoop-3-uber-3.1.1.7.2.9.0-173-9.0.jar

如果需要适配s3,请检查flink目录的plugin是否存在

image.png

如果要支持如mysql ,es,kafka,也如上的hive依赖jar包分发

对应jar包下载地址,请查看此链接的对应模块

https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/connectors/table/jdbc/

image.pngimage.png

1、flink sql 配置

jobmanager.rpc.address: localhost
jobmanager.rpc.port: 6123
jobmanager.memory.process.size: 1600m
taskmanager.memory.process.size: 1728m
taskmanager.numberOfTaskSlots: 1
parallelism.default: 1
jobmanager.execution.failover-strategy: region
classloader.check-leaked-classloader: false

2、sql client 配置

################################################################################
#  Licensed to the Apache Software Foundation (ASF) under one
#  or more contributor license agreements.  See the NOTICE file
#  distributed with this work for additional information
#  regarding copyright ownership.  The ASF licenses this file
#  to you under the Apache License, Version 2.0 (the
#  "License"); you may not use this file except in compliance
#  with the License.  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
# limitations under the License.
################################################################################


# This file defines the default environment for Flink's SQL Client.
# Defaults might be overwritten by a session specific environment.

execution:
  # select the implementation responsible for planning table programs
  # possible values are 'blink' (used by default) or 'old'
  planner: blink
  # 'batch' or 'streaming' execution
  type: batch
  # allow 'event-time' or only 'processing-time' in sources
  time-characteristic: event-time
  # interval in ms for emitting periodic watermarks
  periodic-watermarks-interval: 200
  # 'changelog', 'table' or 'tableau' presentation of results
  result-mode: table
  # maximum number of maintained rows in 'table' presentation of results
  max-table-result-rows: 1000000
  # parallelism of the program
  parallelism: 8
  # maximum parallelism
  max-parallelism: 128
  # minimum idle state retention in ms
  min-idle-state-retention: 0
  # maximum idle state retention in ms
  max-idle-state-retention: 0
  # current catalog ('default_catalog' by default)
  current-catalog: default_catalog
  # current database of the current catalog (default database of the catalog by default)
  current-database: default_database
  # controls how table programs are restarted in case of a failures
  restart-strategy:
    # strategy type
    # possible values are "fixed-delay", "failure-rate", "none", or "fallback" (default)
    type: fallback

#==============================================================================
# Configuration options
#==============================================================================

# Configuration options for adjusting and tuning table programs.

# A full list of options and their default values can be found
# on the dedicated "Configuration" web page.

# A configuration can look like:
configuration:
  table.exec.mini-batch.enabled: true
  table.exec.mini-batch.allow-latency: 2s
  table.exec.mini-batch.size: 50000
  table.optimizer.distinct-agg.split.enabled: true
#  table.sql-dialect: hive

#catalogs:
#  - name: myhive
#    type: hive
#    hive-conf-dir: /opt/flink/conf
#    hive-version: 3.1.2
#    hadoop-conf-dir: /opt/flink/conf
#==============================================================================
# Deployment properties
#==============================================================================

# Properties that describe the cluster to which table programs are submitted to.

deployment:
  # general cluster communication timeout in ms
  response-timeout: 5000
  # (optional) address from cluster to gateway
  gateway-address: ""
  # (optional) port from cluster to gateway
  gateway-port: 0


image.png

相关文章

MySQL 复制-半同步搭建及原理

MySQL 复制-半同步搭建及原理

前言MySQL 半同步复制解决了什么问题?在传统主从架构中,主库实例提交事务与发送二进制日志是异步的,也就是说从库是否成功接收到二进制日志不会影响到主库事务提交,因此可能会出现  “主库发生宕机,主库...

开源Kubernetes工具

开源Kubernetes工具

类别 1:运行 Kubernetes 环境Minikube 仍然是最佳的几乎每个 Kubernetes 教程都是从“下载 Minikube”开始的,这在今天仍然行得通。如果你想在一个真正低风险的环境中...

hive 通过元数据导出所有表信息

select db.NAME as db_name,tb.TBL_NAME as table_name,case tb.TBL_TYPE when 'MANAGED_TABLE...

开源大数据集群部署(十二)Ranger 集成 hive

开源大数据集群部署(十二)Ranger 集成 hive

1、解压安装在hd1.dtstack.com主机上执行(一般选择hiveserver2节点)Ø 解压ranger-2.3.0-hive-plugin.tar.gz[root@hd1.dtstack.c...

MySQL运维实战(4.7) SQL_MODE之ANSI_QUOTES

默认情况下,mysql使用反引号(`)作为标识符的引号。使用mysql关键字作为表名、字段名会报语法错误,这时可以加上反引号( `),避免报错。设置ANSI_QUOTES后,使用双引号(")...

Spark thriftserver对接cdh hive

Spark thriftserver对接cdh hive

1、背景客户需要使用spark的thriftserver来通过beeline或者jdbc 来使用spark sql环境: spark 3.2.0hive: 2.1.1-cdh6.3.2hadoop:...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。