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

企业网站pc优化百度广告投放平台

企业网站pc优化,百度广告投放平台,公司注册网站方法,中装建设千股千评引言 在大数据处理领域,Apache Flink 是一款强大的流处理和批处理框架,而 ClickHouse 则是一个高性能的列式数据库,专为在线分析处理(OLAP)场景设计。Flink ClickHouse 连接器为这两者之间搭建了一座桥梁,…

引言

在大数据处理领域,Apache Flink 是一款强大的流处理和批处理框架,而 ClickHouse 则是一个高性能的列式数据库,专为在线分析处理(OLAP)场景设计。Flink ClickHouse 连接器为这两者之间搭建了一座桥梁,使得用户能够在 Flink 中方便地与 ClickHouse 数据库进行交互,实现数据的读写操作。本文将详细介绍 Flink ClickHouse 连接器的相关内容,包括其特点、使用方法、依赖配置等。

项目概述

Flink ClickHouse 连接器是一个用于 Flink SQL 的连接器,它基于 ClickHouse JDBC 实现,允许用户在 Flink 中直接操作 ClickHouse 数据库。目前,该项目支持 Source/Sink TableFlink Catalog 功能。如果你在使用过程中遇到任何问题,可以在项目仓库中创建 issue,同时也欢迎为项目贡献代码。

主要特点

  • 丰富的功能支持:支持作为数据源和数据接收器,并且可以通过 Flink Catalog 进行管理。
  • 配置灵活:提供了多种配置选项,如批量大小、刷新间隔、最大重试次数等,方便用户根据实际需求进行调整。

项目使用前准备

依赖配置

该项目尚未发布到 Maven 中央仓库,因此在使用之前,需要将其部署或安装到自己的仓库中。具体步骤如下:

# 克隆项目
git clone https://github.com/itinycheng/flink-connector-clickhouse.git# 进入项目目录
cd flink-connector-clickhouse/# 显示远程分支
git branch -r# 检出所需分支
git checkout $branch_name# 安装或部署项目到自己的仓库
mvn clean install -DskipTests
mvn clean deploy -DskipTests

pom.xml 文件中添加以下依赖:

<dependency><groupId>org.apache.flink</groupId><artifactId>flink-connector-clickhouse</artifactId><version>1.16.0-SNAPSHOT</version>
</dependency>

连接器选项

Flink ClickHouse 连接器提供了一系列配置选项,以下是一些常用选项的介绍:

OptionRequiredDefaultTypeDescription
urlrequirednoneStringThe ClickHouse jdbc url in format `jdbc:(ch
usernameoptionalnoneStringThe ‘username’ and ‘password’ must both be specified if any of them is specified.
passwordoptionalnoneStringThe ClickHouse password.
database-nameoptionaldefaultStringThe ClickHouse database name.
table-namerequirednoneStringThe ClickHouse table name.
use-localoptionalfalseBooleanDirectly read/write local tables in case of distributed table engine.
sink.batch-sizeoptional1000IntegerThe max flush size, over this will flush data.
sink.flush-intervaloptional1sDurationOver this flush interval mills, asynchronous threads will flush data.
sink.max-retriesoptional3IntegerThe max retry times when writing records to the database failed.
sink.update-strategyoptionalupdateStringConvert a record of type UPDATE_AFTER to update/insert statement or just discard it, available: update, insert, discard.
sink.partition-strategyoptionalbalancedStringPartition strategy: balanced(round-robin), hash(partition key), shuffle(random).
sink.partition-keyoptionalnoneStringPartition key used for hash strategy.

数据类型映射

Flink 和 ClickHouse 有各自的数据类型体系,Flink ClickHouse 连接器提供了它们之间的映射关系,如下表所示:

Flink TypeClickHouse Type
CHARString
VARCHARString / IP / UUID
STRINGString / Enum
BOOLEANUInt8
BYTESFixedString
DECIMALDecimal / Int128 / Int256 / UInt64 / UInt128 / UInt256
TINYINTInt8
SMALLINTInt16 / UInt8
INTEGERInt32 / UInt16 / Interval
BIGINTInt64 / UInt32
FLOATFloat32
DOUBLEFloat64
DATEDate
TIMEDateTime
TIMESTAMPDateTime
TIMESTAMP_LTZDateTime
INTERVAL_YEAR_MONTHInt32
INTERVAL_DAY_TIMEInt64
ARRAYArray
MAPMap
ROWNot supported
MULTISETNot supported
RAWNot supported

如何使用

创建并读写表

在 Flink SQL 中,可以通过 CREATE TABLE 语句注册一个 ClickHouse 表,然后进行读写操作。示例代码如下:

-- register a clickhouse table `t_user` in flink sql.
CREATE TABLE t_user (`user_id` BIGINT,`user_type` INTEGER,`language` STRING,`country` STRING,`gender` STRING,`score` DOUBLE,`list` ARRAY<STRING>,`map` Map<STRING, BIGINT>,PRIMARY KEY (`user_id`) NOT ENFORCED
) WITH ('connector' = 'clickhouse','url' = 'jdbc:ch://127.0.0.1:8123','database-name' = 'tutorial','table-name' = 'users','sink.batch-size' = '500','sink.flush-interval' = '1000','sink.max-retries' = '3'
);-- read data from clickhouse 
SELECT user_id, user_type from t_user;-- write data into the clickhouse table from the table `T`
INSERT INTO t_user
SELECT cast(`user_id` as BIGINT), `user_type`, `lang`, `country`, `gender`, `score`, ARRAY['CODER', 'SPORTSMAN'], CAST(MAP['BABA', cast(10 as BIGINT), 'NIO', cast(8 as BIGINT)] AS MAP<STRING, BIGINT>) FROM T;

创建并使用 ClickHouseCatalog

SQL 方式
> CREATE CATALOG clickhouse WITH ('type' = 'clickhouse','url' = 'jdbc:ch://127.0.0.1:8123','username' = 'username','password' = 'password','database-name' = 'default','use-local' = 'false',...
);> USE CATALOG clickhouse;
> SELECT user_id, user_type FROM `default`.`t_user` limit 10;
> INSERT INTO `default`.`t_user` SELECT ...;
Scala 方式
val tEnv = TableEnvironment.create(setting)val props = new util.HashMap[String, String]()
props.put(ClickHouseConfig.DATABASE_NAME, "default")
props.put(ClickHouseConfig.URL, "jdbc:ch://127.0.0.1:8123")
props.put(ClickHouseConfig.USERNAME, "username")
props.put(ClickHouseConfig.PASSWORD, "password")
props.put(ClickHouseConfig.SINK_FLUSH_INTERVAL, "30s")
val cHcatalog = new ClickHouseCatalog("clickhouse", props)
tEnv.registerCatalog("clickhouse", cHcatalog)
tEnv.useCatalog("clickhouse")tEnv.executeSql("insert into `clickhouse`.`default`.`t_table` select...");
Java 方式
TableEnvironment tEnv = TableEnvironment.create(setting);Map<String, String> props = new HashMap<>();
props.put(ClickHouseConfig.DATABASE_NAME, "default");
props.put(ClickHouseConfig.URL, "jdbc:ch://127.0.0.1:8123");
props.put(ClickHouseConfig.USERNAME, "username");
props.put(ClickHouseConfig.PASSWORD, "password");
props.put(ClickHouseConfig.SINK_FLUSH_INTERVAL, "30s");
Catalog cHcatalog = new ClickHouseCatalog("clickhouse", props);
tEnv.registerCatalog("clickhouse", cHcatalog);
tEnv.useCatalog("clickhouse");tEnv.executeSql("insert into `clickhouse`.`default`.`t_table` select...");

总结

Flink ClickHouse 连接器为 Flink 和 ClickHouse 之间的集成提供了便捷的解决方案,使得用户能够在 Flink 中高效地读写 ClickHouse 数据库。通过本文的介绍,你应该对该连接器的使用方法有了较为全面的了解。在实际应用中,可以根据具体需求调整连接器的配置选项,以达到最佳的性能和效果。同时,也欢迎参与项目的开发和贡献,共同推动该项目的发展。


文章转载自:

http://6nvNEEMF.rsjng.cn
http://68kCBUS6.rsjng.cn
http://TBsKAJty.rsjng.cn
http://zz5NVcQR.rsjng.cn
http://vztBw82Y.rsjng.cn
http://PjH6mUjR.rsjng.cn
http://dNkFc94R.rsjng.cn
http://EiM3T8m1.rsjng.cn
http://ZvVzNXdC.rsjng.cn
http://nlPFqw93.rsjng.cn
http://tqHPynXl.rsjng.cn
http://26HvcKaq.rsjng.cn
http://HOvsgIHT.rsjng.cn
http://Kezxemdi.rsjng.cn
http://SwEqgGGM.rsjng.cn
http://2PKBfCdS.rsjng.cn
http://JNDYzcrI.rsjng.cn
http://9yVzze0P.rsjng.cn
http://4fKZVf2a.rsjng.cn
http://atkQ4mAo.rsjng.cn
http://5nZAC7de.rsjng.cn
http://88Sy50iR.rsjng.cn
http://akhStwsc.rsjng.cn
http://d4EupwCF.rsjng.cn
http://NqYV0BaM.rsjng.cn
http://wDFgt64n.rsjng.cn
http://CLvpyXJc.rsjng.cn
http://MNt10hYR.rsjng.cn
http://SPwUxQdY.rsjng.cn
http://1sZDcpdf.rsjng.cn
http://www.dtcms.com/wzjs/638252.html

相关文章:

  • 高中作文网站怎么做别人可以上的网站
  • 做pc网站如何实时预览浙江品牌网站设计专家
  • 广州新建站什么网站可以快速做3d效果图
  • 西部数码 空间做2个网站芜湖的网站建设
  • 做红k线网站wordpress 分类图像描述
  • 大型网站建设公司一万元小型办厂设备
  • flash asp网站足球比赛直播在线观看
  • django可以做多大的网站网站维护技术
  • 网站备案级别免费ppt模板下载应用
  • 中国建设银行集团网站wordpress特点
  • 建设银行网站怎么交学费淄博网络推广公司哪家好
  • 中山外包网站设计装修网站模板下载
  • 秦皇岛做网站公司青岛网站设计案例
  • 东营网站建设电话建筑网站新闻写那些好
  • 南通优普网站建设制作长春网站建设SEO优化营销
  • 丽水手机网站建设江苏省建设厅网站职称评审系统
  • 宁波外贸网站设计如何登录百度站长平台
  • 2345浏览器网站沧州网络运营公司
  • 网站怎么做市场分析建站之星模板的使用
  • 淮北建网站费用网站开发的最后5个阶段是什么
  • 长春启做网站多少青岛公司做网站
  • 国内最大的c2c网站是网站运营的作用
  • 好的交互设计网站美工培训班培训学费
  • 网站备案能不能出现世界wordpress 媒体库 文件夹
  • 广州建设集团网站wordpress分页功能
  • 网站管理助手3.0做网站需要了解什么
  • 网站底部版权代码合肥网络公司排名
  • 郑州高端定制网站建设公司无锡做网站公司哪家比较好
  • 网站建设流程表雅诗兰黛网络营销策划书
  • 自助建站软件公司教育网站制作设计