- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Flink实时大数据处理技术版
第8章TableAPI和SQL
PAGE288
PAGE289
1)FlinkTableAPI和SQL有什么区别?
2)利用TableAPISQL从HBase中读取任意数据并输出到控制台,列出详细实现步骤。
3)利用TableAPISQL从DataGen连接器中生成模拟数据并将数据写入到HBase,列出详细实现步骤。
4)假设有一个数据表orders,其中包含订单信息:
CREATETABLEorders(
order_idSTRING,
user_idSTRING,
item_idSTRING,
order_timeTIMESTAMP(3),
priceDOUBLE
)WITH(
connector=...,--指定连接器类型,例如kafka,filesystem等
--其他连接器相关配置,例如topic=...,path=...等
);
i.编写SQL语句计算每个用户的总订单金额。
ii.编写SQL语句查询在特定时间范围内(例如:2023-01-01到2023-01-31)的订单总金额。
5)假设有一个数据表user_clicks,其中包含用户点击信息:
CREATETABLEuser_clicks(
click_idSTRING,
user_idSTRING,
item_idSTRING,
category_idSTRING,
click_timeTIMESTAMP(3)
)WITH(
connector=...,--指定连接器类型,例如kafka,filesystem等
--其他连接器相关配置,例如topic=...,path=...等
);
编写SQL查询每个类别(category_id)下点击次数最多的商品及其点击次数。
Flink实时大数据处理技术版
第8章TableAPI和SQL
PAGE288
PAGE289
参考答案:
FlinkTableAPI和SQL有什么区别?
在Flink中通过TableAPI和SQL都可以对表进行查询处理,两者的区别在TableAPI是基于Scala和Java语言的查询API,而SQL则主要是以字符串的形式完成,TableAPI的查询不是由字符串指定,而是基于语言中定义的各类方法完成。
利用TableAPISQL从HBase中读取任意数据并输出到控制台,列出详细实现步骤。
创建Flink环境
valenv:StreamExecutionEnvironment=StreamExecutionEnvironment.getExecutionEnvironment
valtEnv:TableEnvironment=StreamTableEnvironment.create(env)
创建Hbase连接
valhbaseContext=tEnv.createHBaseContext(hbase-client,hbaseZooQuorum)
创建查询
valquery=SELECTcolumn1,column2FROMmyTable
valresultTable=hbaseContext.executeSql(query)
将结果打印到控制台
resultTable.print()
利用TableAPISQL从DataGen连接器中生成模拟数据并将数据写入到HBase,列出详细实现步骤
objectTableExample{
defmain(args:Array[String]):Unit={
valenv=StreamExecutionEnvironment.getExecutionEnvironment
valtableEnv=StreamTableEnvironment.create(env)
//创建表
valsourceDesc=TableDescriptor.forConnector(datagen)
.option(rows-per-second,2)
.option(fields.name.length,5)
.option(fields.id.min,1)
.option(fields.id.max,100)
.option(fields.score.mi
您可能关注的文档
- Flink实时大数据处理技术 教案 01 Apache Flink概述.doc
- Flink实时大数据处理技术 教案 02 Scala语言.doc
- Flink实时大数据处理技术 教案 03 环境搭建和应用部署.doc
- Flink实时大数据处理技术 教案 04 Flink流处理架构与原理.doc
- Flink实时大数据处理技术 教案 05 流处理API.doc
- Flink实时大数据处理技术 教案 06 时间和窗口.doc
- Flink实时大数据处理技术 教案 07 处理函数与状态管理.doc
- Flink实时大数据处理技术 教案 08 Table API和SQL.doc
- Flink实时大数据处理技术 教案 9 Flink Kafka 连接器.doc
- Flink实时大数据处理技术 教案 10 Flink 数据仓库项目实战.doc
文档评论(0)