使用flink来读写hudi有2种API,一个是Flink SQL API,另一个是DataStream API,参考
1 | https://hudi.apache.org/cn/docs/flink-quick-start-guide |
1.Flink SQL API#
首先启动yarn session
1 | /usr/lib/flink/bin/yarn-session.sh -n 3 -s 5 -jm 1024 -tm 4096 -d |
使用SQL API提交任务到YARN上的方式有以下几种:
1.使用交互式的sql client#
不过由于sql client目前处于beta版本,所以建议用于原型验证,不建议在生产环境中使用,参考:Apache Flink 零基础入门(四):客户端操作的 5 种模式
1 | https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/dev/table/sqlclient/ |
启动
1 | /usr/lib/flink/bin/sql-client.sh |
首先使用Flink SQL创建hudi表
1 | Flink SQL> CREATE TABLE hudi_test_table( |
查询该hudi表
1 | Flink SQL> select * from hudi_test_table limit 10; |
查询结果
2.编写flink job,使用StreamExecutionEnvironment#
在生产环境中如果使用FlinkSQL,建议使用
StreamExecutionEnvironment,参考
1 | https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/sql/queries/overview/ |
2.Flink DataStream API#
首先同样是启动yarn session