当前位置: 首页 > news >正文

四川网站制作成都合肥网络推广培训学校

四川网站制作成都,合肥网络推广培训学校,越南做It网站推广,财务系统Bitmap是一种经典的数据结构#xff0c;用于高效地对大量的二进制数据进行压缩存储和快速查询。Doris支持bitmap数据类型#xff0c;在Flink计算场景中#xff0c;可以结合Flink doris Connector对bitmap数据做计算。 社区里很多小伙伴在是Doris Flink Connector的时候用于高效地对大量的二进制数据进行压缩存储和快速查询。Doris支持bitmap数据类型在Flink计算场景中可以结合Flink doris Connector对bitmap数据做计算。 社区里很多小伙伴在是Doris Flink Connector的时候不知道怎么写Bitmap类型的数据本文将介绍如何使用 Flink Doris Connector 如何将 bitmap 数据写入 Doris 中。 前置准备 Doris2.0.1的环境 Flink1.16同时将 Doris Flink Connector的Jar包放在FLINK_HOME/lib 下面。 创建Doris表 CREATE TABLE page_view_bitmap ( dt int, page varchar(256), user_id bitmap bitmap_union ) AGGREGATE KEY(dt, page) DISTRIBUTED BY HASH(dt) BUCKETS 1 PROPERTIES ( replication_num 1 )写入Bitmap数据 这里模拟Flink读取MySQL数据写入Doris同时将user_id存储到bitmap中。 模拟数据 创建MySQL表 CREATE TABLE page_view (id int NOT NULL,dt int,page varchar(256),user_id int,PRIMARY KEY (id) );#模拟数据 INSERT INTO test.page_view (id, dt, page, user_id) VALUES (1, 20230921, home, 1001); INSERT INTO test.page_view (id, dt, page, user_id) VALUES (2, 20230921, home, 1002); INSERT INTO test.page_view (id, dt, page, user_id) VALUES (3, 20230921, search, 1003); INSERT INTO test.page_view (id, dt, page, user_id) VALUES (4, 20230922, mine, 1001); INSERT INTO test.page_view (id, dt, page, user_id) VALUES (5, 20230922, home, 1002); FlinkSQL写入Bitmap #使用JDBC读取mysql数据 CREATE TABLE page_view (dt int,page string,user_id int ) WITH (connector jdbc,url jdbc:mysql://127.0.0.1:3306/test,table-name page_view,username root,password 123456 );doris connector写入数据 CREATE TABLE page_view_bitmap ( dt int, page string, user_id int ) WITH (connector doris,fenodes 127.0.0.1:8030,table.identifier test.page_view_bitmap,username root,password ,sink.label-prefix doris_label1,sink.properties.columns dt,page,user_id,user_idto_bitmap(user_id) );insert into page_view_bitmap select * from page_view 我们知道 Doris Flink Connector Sink 底层是基于 Doris Stream Load 来实现的同样 Stream load 在 Connector 里也是一样适用我们将这个参数封装在了 sink.properties 参数里 这里我们可以看到上面这个例子里我们在是 With 属性里加入了我们 Columns 参数这里我们配置了列的转换操作将 user_id 通过 to_bitmap 函数进行转换并导入到 Doris 表里。 查询结果 mysql select dt,page,bitmap_to_string(user_id) from test.page_view_bitmap; --------------------------------------------- | dt | page | bitmap_to_string(user_id) | --------------------------------------------- | 20230921 | home | 1001,1002 | | 20230921 | search | 1003 | | 20230922 | home | 1002 | | 20230922 | mine | 1001 | --------------------------------------------- 4 rows in set (0.00 sec)Flink DataStream 使用 DataStream API 模拟数据写入刚才的表中。 DataStream API 对 Bitmap 的操作也是和上面 SQL 操作的方式一样。 public static void main(String[] args) throws Exception {StreamExecutionEnvironment env StreamExecutionEnvironment.getExecutionEnvironment();env.setParallelism(1);env.setRuntimeMode(RuntimeExecutionMode.BATCH);DorisSink.BuilderString builder DorisSink.builder();final DorisReadOptions.Builder readOptionBuilder DorisReadOptions.builder();Properties properties new Properties();properties.setProperty(column_separator, ,);properties.setProperty(format, csv);properties.setProperty(columns, dt,page,user_id,user_idto_bitmap(user_id));DorisOptions.Builder dorisBuilder DorisOptions.builder();dorisBuilder.setFenodes(127.0.0.1:8030).setTableIdentifier(test.page_view_bitmap).setUsername(root).setPassword();DorisExecutionOptions.Builder executionBuilder DorisExecutionOptions.builder();executionBuilder.setLabelPrefix(doris_label).setStreamLoadProp(properties).setDeletable(false);builder.setDorisReadOptions(readOptionBuilder.build()).setDorisExecutionOptions(executionBuilder.build()).setSerializer(new SimpleStringSerializer()).setDorisOptions(dorisBuilder.build());//mock dataDataStreamSourceString stringDataStreamSource env.fromCollection(Arrays.asList(20230921,home,1003, 20230921,search,1001, 20230923,home,1001));stringDataStreamSource.sinkTo(builder.build());env.execute(doris bitmap write);}查询结果 mysql select dt,page,bitmap_to_string(user_id) from test.page_view_bitmap; --------------------------------------------- | dt | page | bitmap_to_string(user_id) | --------------------------------------------- | 20230921 | home | 1001,1002,1003 | | 20230921 | search | 1001,1003 | | 20230922 | home | 1002 | | 20230922 | mine | 1001 | | 20230923 | home | 1001 | --------------------------------------------- 5 rows in set (0.00 sec)
http://www.hkea.cn/news/14560076/

相关文章:

  • 如何做一个网站高防服务器租用
  • 外国网站服务器谷歌seo实战教程
  • 屏南网站建设兼职外贸网站建设公司效果
  • 快速网站建设多少钱洛阳万悦网站建设
  • 长寿网站建设公司vue 做的pc端网站
  • 建筑公司企业宣传册长沙百度关键词优化
  • 域名备案需要有网站吗做网站除了有服务器还需要什么问题
  • 好点的开发网站的公司做网站需要前置审批
  • 北京市建设教育协会网站首页怎样利用网站做引流
  • 口碑好的唐山网站建设wordpress自适应视频
  • 桂林微信网站开发网站链接怎么做
  • dnf卖飞机的网站怎么做的版面设计图大全模板
  • 黔西网站建设怎么把自己做的网站放到网上
  • 网站首页图片切换查找使用wordpress的网站
  • 通辽网站制作公司网站规划和建设的基本步骤
  • 做擦边球网站建水县住房和城乡建设局网站
  • 高明网站开发网站开发技术应用领域
  • 为校园网站建设提供114黄页的特点
  • 南召微网站建设wordpress模版如何使用
  • vue.js 可以做网站吗自己如何建一个网站
  • com网站注册域名张家港英文网站制作
  • 国际传媒网站设计简单的网站建设步骤
  • 贵金属如何用网站开发客户百度收录网站之后又怎么做
  • 北京互联网网站建设wordpress 7比2
  • 长春市网站推广wordpress 推送公众号
  • 网站建设岗位能力评估表wordpress 在线预览
  • 北京网站建设汉邦湛江建设企业网站
  • 网站建设入门 下载企业门户网站方案
  • 网站升级改版wp网站做404
  • 成都网站搭建公司哪家好深圳贸易网站建设