赞
踩
flink有个sql-client.sh,有点sql交互行的感觉~
(如下的图,是从flink官网截图下来的)
官网地址:https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/sqlClient.html
具体如何配置sql-client和各种框架集成, 我就不搞了,大家有兴趣研究下官网或者百度下,我就试了下集成hive
具体如何配置hive,请看以下文章!
flink 1.11.2-sql-client 集成hive:https://www.jianshu.com/p/29edfe20baea(作者:百岁叶)
然后可能需要各种jar放到flink的lib下,否则会报类找不到等问题,具体需要哪些类,大家可以参考如下的链接
官网:https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/hive/
最新版本Flink 1.12.0 的sql-cli配置连接yarn-session:https://www.jianshu.com/p/f7b26ec07dd0(作者:FishMAN__)
flink 1.9 sql-client 连接hive catalog配置:https://blog.csdn.net/h335146502/article/details/100689010(作者:别过来胖到我了)
启动sql-client命令:bin/sql-client.sh embedded
默认情况下,这个sql-client上面所跑的任务,会提交到flink的standalone集群上,如果你没有bin/start-cluster.sh启动standalon集群,那么sql-client进程可以启动起来,但是在实际执行sql的时候,会报如下连接拒绝的错误
yarn-session模式其实就是在yarn上生成一个standalone集群
bin/yarn-session.sh -s 2 -jm 1024 -tm 2048 -nm test1 -d
可以到yarn页面上看到集群起来了
bin/sql-client.sh embedded -s yarn-session
或者
create YAML file (sql-env.yaml
)
- configuration:
- execution.target: yarn-session
bin/sql-client.sh embedded -e sql-env.yaml
第二种方法,参考:https://docs.cloudera.com/csa/1.2.0/sql-client/topics/csa-sql-client-session-config.html
Flink SQL Client讀取csv中的數據(轉載+總結):https://yuchi.blog.csdn.net/article/details/111266581(转载者:無人島物語)
可以看到日志里面,在读取/tmp/.yarn-properties-root文件(这个文件记录了root用户在yarn上开了个yarn-session集群的appid)
接着执行对应的sql命令,就可以看到任务在连接yarn的resourcemanager的8032端口
好了,我觉得这个client完全只是个测试的入口啊,感觉会用到的场景比较少把,如果是真的想用sql,肯定是需要一个前端的web页面,可以稳定上传jar包,运行任务,查看报错,甚至还可以执行sql的控制台
如果是想直接买的话,可以看看阿里的实时计算(全托管版本),或者EMR的dataflow集群,他们都有一个前端页面叫VVP
如果想自己开发的话,可以看看袋鼠云开源出来的flinksql任务解析:https://github.com/DTStack/flinkStreamSQL,只需要做个前端,用户传入sql,然后保存成一个文件,接着启动一个对应模式的flink任务,并且可以管理任务,包括jar包,udf(查),启/停任务(增删),看日志,详情页面的跳转(报错了修改)就可以
菜鸡一只,如果有什么写的不对的,地方还希望大家批评指出,坚决修改~
快过年了,其实已经没什么心思上班了!不过写文章,学习,我还是有动力的
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。