美文网首页Flink
使用flink-sql-gateway提交sql查询

使用flink-sql-gateway提交sql查询

作者: __destory__ | 来源:发表于2021-07-08 16:21 被阅读0次

    确保集群安装Flink

    使用版本1.12.1作为例子。

    假定flink安装目录 /opt/flink

    安装flink-sql-gateway

    git 地址 ververica/flink-sql-gateway (github.com)

    使用1.12分支,自行编译。

    image.png

    调整flink模式

    vi /opt/flink/conf/flink-conf.yaml

    增加配置 execution.target: yarn-per-job

    设置flink环境变量

    export FLINK_HOME=/opt/flink

    启动sql gatway

    image.png

    使用beeline连接到sql gateway

    SeeWei1985/flink-jdbc-driver (github.com)

    可以直接下载

    image.png

    将这个jar包放到hive的lib下。

    使用beeline命令

    连接到sql gateway

    image.png

    之后,就可以使用sql命令来查看catalog,database,table等信息,以及使用sql语句。

    支持哪些语句,参考 flink-sql-gateway的文档。

    image.png

    sql-gateway支持hive catalog设置

    修改配置文件。注意下gateway启动的配置文件路径

    image.png

    设置hive的catalog

    image.png

    保存后,重启gateway,使用beeline再次连接,会提示错误。原因在于缺少jar包。

    下载flink源码(注意版本对应)进行编译,编译完毕后,拷贝如下几个jar,原因在于flink默认不提供hive的connector,需要我们自己去编译(这里对flink的编译会出现问题,多google下)

    将下列jar包复制到flink安装目录的lib下。

    flink编译后的jar包如下:

    {flink-home}/flink-connectors/flink-connector-hive/target/flink-connector-hive_2.11-1.9-SNAPSHOT.jar

    {flink-home}/flink-connectors/flink-hadoop-compatibility/target/flink-hadoop-compatibility_2.11-1.9-SNAPSHOT.jar

    hive本身有的jar包如下复制:

    {hive-home}/lib/hive-exec-1.2.1.jar

    {hive-home}/lib/hive-common-1.2.1.jar

    {hive-home}/lib/hive-metastore-1.2.1.jar

    {hive-home}/lib/hive-shims-common-1.2.1.jar

    {hive-home}/lib/antlr-runtime-3.4.jar

    {hive-home}/lib/datanucleus-api-jdo-3.2.6.jar

    {hive-home}/lib/datanucleus-core-3.2.10.jar

    {hive-home}/lib/datanucleus-rdbms-3.2.9.jar

    {hive-home}/lib/mysql-connector-java-5.1.34.jar

    {hive-home}/lib/javax.jdo-3.2.0-m3.jar

    {hive-home}/lib/libfb303-0.9.3.jar

    {hive-home}/lib/commons-cli-1.3.1.jar

    这里,我们看到,只需要flink的两个包,因此,我们可以针对这连个jar包单独编译。

    进入到对应的子模块执行

    mvn clean package -DskipTests -am

    等待中....

    期间,编译遇到了问题,

    javac-shaded-9+181-r4173-1.jar maven 403问题,不知原因,手动去下载,并使用下面的命令导入到本地的maven

    mvn install:install-file -Dfile=javac-shaded-9+181-r4173-1.jar -DgroupId=com.google.errorprone -DartifactId=javac-shaded -Dversion=9+181-r4173-1 -Dpackaging=jar

    之后,继续编译即可。

    最终重启 sql gateway后,使用beeline连接上,通过show catalog 可以查看到hive的database,在hive中创建表,flink中也可以立刻识别到。

    相关文章

      网友评论

        本文标题:使用flink-sql-gateway提交sql查询

        本文链接:https://www.haomeiwen.com/subject/hirtpltx.html