文章目录
前言
Flink 1.10 版本相对与1.9版本 在Hive支持方面做了很大的改进,Flink可以通过hiveCatalog 直接使用hive的元数据,在实际业务场景中我们可以很方便的使用FlinkSQL操作hive数据库数据。本文讲解了sql-client和idea测试环境中使用hiveCatalog进行计算。
一、SQL-Client 配置Catalog
1、配置 Flink 1.10.1 的 conf的 sql-client-defaults.yaml
配置如下:
catalogs:
- name: myhive
type: hive
property-version: 1
hive-conf-dir: /etc/hive/conf
hive-version: 2.1.1
2、拷贝相应的hive jar包和 依赖包 到 $FLINK_HOME/lib/
2.1 拷贝相应的hive jar包
cp $HIVE_HOME/lib/hive-exec-2.1.0.jar $FLINK_HOME/lib/
2.2 下载依赖包
cd $FLINK_HOME
wget -P ./lib/ https://repo1.maven.org/maven2/org/apache/flink/flink-connector-hive_2.11/1.10.1/flink-connector-hive_2.11-1.10.1.jar
wget -P ./lib/ https://repo1.maven.org/maven2/org/apache/flink/flink-shaded-hadoop-2-uber/2.7.5-8.0/flink-shaded-hadoop-2-uber-2.7.5-8.0.jar
3、启动 Flink SQL Client
3.1 启动Flink
cd $FLINK_HOME
./bin/start-cluster.sh
3.2 启动 Flink SQL Client
$FLINK_HOME/
./bin/sql-client.sh embedded -d ./conf/sql-client-defaults.yaml -l ./lib
结果:
▒▓██▓██▒
▓████▒▒█▓▒▓███▓▒
▓███▓░░ ▒▒▒▓██▒ ▒
░██▒ ▒▒▓▓█▓▓▒░ ▒████
██▒ ░▒▓███▒ ▒█▒█▒
░▓█ ███ ▓░▒██
▓█ ▒▒▒▒▒▓██▓░▒░▓▓█
█░ █ ▒▒░ ███▓▓█ ▒█▒▒▒
████░ ▒▓█▓ ██▒▒▒ ▓███▒
░▒█▓▓██ ▓█▒ ▓█▒▓██▓ ░█░
▓░▒▓████▒ ██ ▒█ █▓░▒█▒░▒█▒
███▓░██▓ ▓█ █ █▓ ▒▓█▓▓█▒
░██▓ ░█░ █ █▒ ▒█████▓▒ ██▓░▒
███░ ░ █░ ▓ ░█ █████▒░░ ░█░▓ ▓░
██▓█ ▒▒▓▒ ▓███████▓░ ▒█▒ ▒▓ ▓██▓
▒██▓ ▓█ █▓█ ░▒█████▓▓▒░ ██▒▒ █ ▒ ▓█▒
▓█▓ ▓█ ██▓ ░▓▓▓▓▓▓▓▒ ▒██▓ ░█▒
▓█ █ ▓███▓▒░ ░▓▓▓███▓ ░▒░ ▓█
██▓ ██▒ ░▒▓▓███▓▓▓▓▓██████▓▒ ▓███ █
▓███▒ ███ ░▓▓▒░░ ░▓████▓░ ░▒▓▒ █▓
█▓▒▒▓▓██ ░▒▒░░░▒▒▒▒▓██▓░ █▓
██ ▓░▒█ ▓▓▓▓▒░░ ▒█▓ ▒▓▓██▓ ▓▒ ▒▒▓
▓█▓ ▓▒█ █▓░ ░▒▓▓██▒ ░▓█▒ ▒▒▒░▒▒▓█████▒
██░ ▓█▒█▒ ▒▓▓▒ ▓█ █░ ░░░░ ░█▒
▓█ ▒█▓ ░ █░ ▒█ █▓
█▓ ██ █░ ▓▓ ▒█▓▓▓▒█░
█▓ ░▓██░ ▓▒ ▓█▓▒░░░▒▓█░ ▒█
██ ▓█▓░ ▒ ░▒█▒██▒ ▓▓
▓█▒ ▒█▓▒░ ▒▒ █▒█▓▒▒░░▒██
░██▒ ▒▓▓▒ ▓██▓▒█▒ ░▓▓▓▓▒█▓
░▓██▒ ▓░ ▒█▓█ ░░▒▒▒
▒▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▓▓ ▓░▒█░
______ _ _ _ _____ ____ _ _____ _ _ _ BETA
| ____| (_) | | / ____|/ __ \| | / ____| (_) | |
| |__ | |_ _ __ | | __ | (___ | | | | | | | | |_ ___ _ __ | |_
| __| | | | '_ \| |/ / \___ \| | | | | | | | | |/ _ \ '_ \| __|
| | | | | | | | < ____) | |__| | |____ | |____| | | __/ | | | |_
|_| |_|_|_| |_|_|\_\ |_____/ \___\_\______| \_____|_|_|\___|_| |_|\__|
Welcome! Enter 'HELP;' to list all available commands. 'QUIT;' to exit.
Flink SQL>
Flink SQL> show catalogs;
default_catalog
myhive
Flink SQL> use catalog myhive;
Flink SQL> show databases;
default
ods
dwd
dws
dm
app
Flink SQL> use app;
Flink SQL> show tables;
exp_2_mysql_table
Flink SQL> select * from exp_2_mysql_table;
二、Idea测试环境 配置Catalog
1、 拷贝相应的hive jar包和 依赖包 到 $FLINK_HOME/lib/
1.1 拷贝相应的hive jar包
cp $HIVE_HOME/lib/hive-exec-2.1.0.jar $FLINK_HOME/lib/
2.2 下载依赖包
cd $FLINK_HOME
wget -P ./lib/ https://repo1.maven.org/maven2/org/apache/flink/flink-connector-hive_2.11/1.10.1/flink-connector-hive_2.11-1.10.1.jar
wget -P ./lib/ https://repo1.maven.org/maven2/org/apache/flink/