云服务器内容精选
-
静态流图 在OpenSource SQL作业编辑页面,单击“静态流图”按钮即可展示。 仅Flink 1.12和Flink 1.10版本支持查看简化流图。 Flink Opensource SQL作业中使用自定义函数时,不支持生成静态流图。 “静态流图”页面还支持以下功能: 支持资源预估。通过单击“静态流图”页面中的“资源预估”按钮,可进行资源预估。单击“恢复初始值”按钮,可在资源预估后恢复初始值。 支持展示页面缩放。 支持根据算子链展开/合并。 支持编辑“并行数”,“流量”和“命中率”。 并行数:一个任务的并发数。 流量:算子的数据流量,单位:条/s。 命中率:数据经过算子处理之后的保留率。命中率=算子的数据流出量/流入量,单位:%。 图5 静态流图
-
整体作业开发流程 整体作业开发流程参考图1。 图1 作业开发流程 步骤1:创建队列:创建 DLI 作业运行的队列。 步骤2:创建RDS Postgres数据库:创建RDS Postgres的数据库和表。 步骤3:创建DWS数据库和表:创建用于接收数据的DWS数据库和表。 步骤4:创建增强型跨源连接:DLI上创建连接RDS和DWS的跨源连接,打通网络。 步骤5:运行作业:DLI上创建和运行Flink OpenSource作业。 步骤6:发送数据和查询结果:RDS Postgres的表上插入数据,在DWS上查看运行结果。
-
步骤3:创建DWS数据库和表 连接已创建的DWS集群。 请参考使用gsql命令行客户端连接DWS集群。 执行以下命令连接DWS集群的默认数据库“gaussdb”: gsql -d gaussdb -h DWS集群连接地址 -U dbadmin -p 8000 -W password -r gaussdb:DWS集群默认数据库。 DWS集群连接地址:请参见获取集群连接地址进行获取。如果通过公网地址连接,请指定为集群“公网访问地址”或“公网访问 域名 ”,如果通过内网地址连接,请指定为集群“内网访问地址”或“内网访问域名”。如果通过弹性负载均衡连接,请指定为“弹性负载均衡地址”。 dbadmin:创建集群时设置的默认管理员用户名。 -W:默认管理员用户的密码。 在命令行窗口输入以下命令创建数据库“testdwsdb”。 CREATE DATABASE testdwsdb; 执行以下命令,退出gaussdb数据库,连接新创建的数据库“testdwsdb”。 \q gsql -d testdwsdb -h DWS集群连接地址 -U dbadmin -p 8000 -W password -r 执行以下命令创建表。 create schema test; set current_schema= test; drop table if exists dws_order; CREATE TABLE dws_order ( order_id VARCHAR, order_channel VARCHAR, order_time VARCHAR, pay_amount FLOAT8, real_pay FLOAT8, pay_time VARCHAR, user_id VARCHAR, user_name VARCHAR, area_id VARCHAR );
-
创建表相关语法 表1 创建表相关语法 语法分类 功能描述 Format Avro Canal Confluent Avro CS V Debezium JSON Maxwell Ogg Orc Parquet Raw Connectors BlackHole ClickHouse DataGen Doris DWS Elasticsearch FileSystem Hbase Hive JDBC Kafka Print Redis Upsert Kafka
-
创建表相关语法 表1 创建表相关语法 语法分类 功能描述 创建源表 DataGen源表 DWS源表 Hbase源表 JDBC源表 Kafka源表 MySQL CDC源表 Postgres CDC源表 Redis源表 Upsert Kafka源表 创建结果表 BlackHole结果表 ClickHouse结果表 DWS结果表 Elasticsearch结果表 Hbase结果表 JDBC结果表 Kafka结果表 Print结果表 Redis结果表 Upsert Kafka结果表 创建维表 DWS维表 Hbase维表 JDBC维表 Redis维表 Format Avro Canal Confluent Avro CSV Debezium JSON Maxwell Raw
-
创建源表相关语法 表1 创建源表相关语法 语法分类 功能描述 创建源表 Kafka源表 DIS源表 JDBC源表 DWS源表 Redis源表 Hbase源表 userDefined源表 创建结果表 ClickHouse结果表 Kafka结果表 Upsert Kafka结果表 DIS结果表 JDBC结果表 DWS结果表 Redis结果表 SMN 结果表 Hbase结果表 Elasticsearch结果表 userDefined结果表 创建维表 创建JDBC维表 创建DWS维表 创建Hbase维表
-
流生态开发支持的数据格式 DLI Flink作业支持如下数据格式: Avro,Avro_merge,BLOB,CSV,EMAIL,JSON,ORC,Parquet,XML。 表4 数据格式和支持的输入输出流 数据格式 支持的输入流 支持的输出流 Avro - OBS输出流 Avro_merge - OBS输出流 BLOB DIS输入流 MRS Kafka输入流 开源Kafka输入流 - CSV DIS输入流 OBS输入流 开源Kafka输入流 DIS输出流 OBS输出流 DWS输出流(通过OBS方式转储) 开源Kafka输出流 文件系统输出流 EMAIL DIS输入流 - JSON DIS输入流 OBS输入流 MRS Kafka输入流 开源Kafka输入流 DIS输出流 OBS输出流 MRS Kafka输出流 开源Kafka输出流 ORC - OBS输出流 DWS输出流(通过OBS方式转储) Parquet - OBS输出流 文件系统输出流 XML DIS输入流 -
-
云服务生态开发 表1 云服务生态开发一览表 数据源 SQL 自定义作业 输入流:从其他服务或数据库中获取数据 输出流:将处理后的数据写入到其他服务或数据库中 表格存储服务 CloudTable HBase输入流 HBase输出流 OpenTSDB输出流 - 云搜索服务 CSS - Elasticsearch输出流 - 分布式缓存服务 DCS - DCS输出流 自定义作业交互 文档数据库服务 DDS - DDS输出流 - 数据接入服务 DIS DIS输入流 DIS输出流 - 分布式消息服务 DMS DMS输入流 DMS输出流 - 数据仓库服务 DWS - DWS输出流(通过JDBC方式转储) DWS输出流(通过OBS方式转储) 自定义作业交互 MapReduce服务 MRS MRS Kafka输入流 MRS Kafka输出流 MRS HBase输出流 自定义作业交互 对象存储服务 OBS OBS输入流 OBS输出流 - 关系型数据库 RDS - RDS输出流 - 消息通知 服务 SMN - SMN输出流 -
-
概述 流生态系统基于Flink和Spark双引擎,完全兼容Flink/Storm/Spark开源社区版本接口,并且在此基础上做了特性增强和性能提升,为用户提供易用、低时延、高吞吐的 数据湖探索 。 数据湖 探索的流生态开发包括云服务生态、开源生态和自拓展生态: 云服务生态 DLI服务在Stream SQL中支持与其他服务的连通。用户可以直接使用SQL从这些服务中读写数据,如DIS、OBS、CloudTable、MRS、RDS、SMN、DCS等。 开源生态 通过对等连接建立与其他VPC的网络连接后,用户可以在DLI的租户独享集群中访问所有Flink和Spark支持的数据源与输出源,如Kafka、Hbase、ElasticSearch等。 自拓展生态 用户可通过编写代码实现从想要的云生态或者开源生态获取数据,作为Flink作业的输入数据。
-
步骤3:创建DWS数据库和表 连接已创建的DWS集群。 请参考使用gsql命令行客户端连接DWS集群。 执行以下命令连接DWS集群的默认数据库“gaussdb”: gsql -d gaussdb -h DWS集群连接地址 -U dbadmin -p 8000 -W password -r gaussdb:DWS集群默认数据库。 DWS集群连接地址:请参见获取集群连接地址进行获取。如果通过公网地址连接,请指定为集群“公网访问地址”或“公网访问域名”,如果通过内网地址连接,请指定为集群“内网访问地址”或“内网访问域名”。如果通过弹性负载均衡连接,请指定为“弹性负载均衡地址”。 dbadmin:创建集群时设置的默认管理员用户名。 -W:默认管理员用户的密码。 在命令行窗口输入以下命令创建数据库“testdwsdb”。 CREATE DATABASE testdwsdb; 执行以下命令,退出gaussdb数据库,连接新创建的数据库“testdwsdb”。 \q gsql -d testdwsdb -h DWS集群连接地址 -U dbadmin -p 8000 -W password -r 执行以下命令创建表。 create schema test; set current_schema= test; drop table if exists dwsresult; CREATE TABLE dwsresult ( car_id VARCHAR, car_owner VARCHAR, car_age INTEGER , average_speed FLOAT8, total_miles FLOAT8 );
-
整体作业开发流程 整体作业开发流程参考图1。 图1 作业开发流程 步骤1:创建队列:创建DLI作业运行的队列。 步骤2:创建RDS MySQL数据库和表:创建RDS MySQL的数据库和表。 步骤3:创建DWS数据库和表:创建用于接收数据的DWS数据库和表。 步骤4:创建增强型跨源连接:DLI上创建连接RDS和DWS的跨源连接,打通网络。 步骤5:运行作业:DLI上创建和运行Flink OpenSource作业。 步骤6:发送数据和查询结果:RDS MySQL的表上插入数据,在DWS上查看运行结果。
-
操作步骤 该示例将car_info数据,以day字段为分区字段,parquet为编码格式,转储数据到OBS。更多内容请参考《数据湖探索Flink SQL语法参考》。 1 2 3 4 5 6 7 8 9 10 11 12 13 create sink stream car_infos ( carId string, carOwner string, average_speed double, day string ) partitioned by (day) with ( type = "filesystem", file.path = "obs://obs-sink/car_infos", encode = "parquet", ak = "{{myAk}}", sk = "{{mySk}}" ); 数据最终在OBS中的存储目录结构为:obs://obs-sink/car_infos/day=xx/part-x-x。 数据生成后,可通过如下SQL语句建立OBS分区表,用于后续批处理: 创建OBS分区表。 1 2 3 4 5 6 7 8 create table car_infos ( carId string, carOwner string, average_speed double ) partitioned by (day string) stored as parquet location 'obs://obs-sink/car-infos'; 从关联OBS路径中恢复分区信息。 1 alter table car_infos recover partitions;
-
数据规划 发布者Job使用自定义算子每秒钟产生10000条数据。 数据包含两个属性:分别是Int和String类型。 配置文件。 nettyconnector.registerserver.topic.storage:设置NettySink的IP、端口及并发度信息在第三方注册服务器上的路径(必填),例如: nettyconnector.registerserver.topic.storage: /flink/nettyconnector nettyconnector.sinkserver.port.range:设置NettySink的端口范围(必填),例如: nettyconnector.sinkserver.port.range: 28444-28943 nettyconnector.ssl.enabled:设置NettySink与NettySource之间通信是否SSL加密(默认为false),例如: nettyconnector.ssl.enabled: true nettyconnector.sinkserver.subnet:设置网络所属域,例如: nettyconnector.sinkserver.subnet: 10.162.0.0/16 安全认证配置: Zookeeper的SASL认证,依赖“flink-conf.yaml”中有关HA的相关配置,具体配置请参见配置管理Flink。 SSL的keystore、truststore、keystore password、truststore password以及password等也使用“flink-conf.yaml”的相关配置,具体配置请参见加密传输。 接口说明。 注册服务器接口 注册服务器用来保存NettySink的IP、端口以及并发度信息,以便NettySource连接使用。为用户提供以下接口: public interface RegisterServerHandler { /** * 启动注册服务器 * @param configuration Flink的Configuration类型 */ void start(Configuration configuration) throws Exception; /** *注册服务器上创建Topic节点(目录) * @param topic topic节点名称 */ void createTopicNode(String topic) throw Exception; /** *将信息注册到某个topic节点(目录)下 * @param topic 需要注册到的目录 * @param registerRecord 需要注册的信息 */ void register(String topic, RegisterRecord registerRecord) throws Exception; /** *删除topic节点 * @param topic 待删除topic */ void deleteTopicNode(String topic) throws Exception; /** *注销注册信息 *@param topic 注册信息所在的topic *@param recordId 待注销注册信息ID */ void unregister(String topic, int recordId) throws Exception; /** * 查寻信息 * @param 查询信息所在的topic *@recordId 查询信息的ID */ RegisterRecord query(String topic, int recordId) throws Exception; /** * 查询某个Topic是否存在 * @param topic */ Boolean isExist(String topic) throws Exception; /** *关闭注册服务器句柄 */ void shutdown() throws Exception; 工程基于以上接口提供了ZookeeperRegisterHandler供用户使用。 NettySink算子 Class NettySink(String name, String topic, RegisterServerHandler registerServerHandler, int numberOfSubscribedJobs) name:为本NettySink的名称。 topic:为本NettySink产生数据的Topic,每个不同的NettySink(并发度除外)必须使用不同的TOPIC,否则会引起订阅混乱,数据无法正常分发。 registerServerHandler:为注册服务器的句柄。 numberOfSubscribedJobs:为订阅本NettySink的作业数量,该数量必须是明确的,只有当所有订阅者都连接上NettySink,NettySink才发送数据。 NettySource算子 Class NettySource(String name, String topic, RegisterServerHandler registerServerHandler) name:为本NettySource的名称,该NettySource必须是唯一的(并发度除外),否则,连接NettySink时会出现冲突,导致无法连接。 topic:订阅的NettySink的topic。 registerServerHandler:为注册服务器的句柄。 NettySource的并发度必须与NettySink的并发度相同,否则无法正常创建连接。
-
准备开发环境 在进行应用开发时,要准备的开发和运行环境如表1所示。 表1 开发环境 准备项 说明 操作系统 开发环境:Windows系统。 运行环境:Linux系统。 如需在本地调测程序,运行环境需要和集群业务平面网络互通。 安装JDK 开发和运行环境的基本配置,版本要求如下: 服务端和客户端仅支持集群自带的OpenJDK,不允许替换。 对于客户应用需引用SDK类的Jar包运行在客户应用进程中的: X86客户端: Oracle JDK:支持1.8版本; IBM JDK:支持1.8.0.7.20和1.8.0.6.15版本。 ARM客户端: OpenJDK:支持1.8.0_272版本(集群自带JDK,可通过集群客户端安装目录中“JDK”文件夹下获取)。 毕昇JDK:支持1.8.0_272版本。 说明: 基于安全考虑,服务端只支持TLS V1.2及以上的加密协议。 IBM JDK默认只支持TLS V1.0,若使用IBM JDK,请配置启动参数“com.ibm.jsse2.overrideDefaultTLS”为“true”,设置后可以同时支持TLS V1.0/V1.1/V1.2,详情可参考https://www.ibm.com/support/knowledgecenter/zh/SSYKE2_8.0.0/com.ibm.java.security.component.80.doc/security-component/jsse2Docs/matchsslcontext_tls.html#matchsslcontext_tls。 毕昇JDK详细信息可参考https://www.hikunpeng.com/zh/developer/devkit/compiler/jdk。 安装和配置IDEA 用于开发Flink应用程序的工具。版本要求:14.1.7。 安装Scala Scala开发环境的基本配置。版本要求:2.11.7。 安装Scala插件 Scala开发环境的基本配置。版本要求:1.5.4。 安装Maven 开发环境的基本配置。用于项目管理,贯穿软件开发生命周期。 7-zip 用于解压“*.zip”和“*.rar”文件,支持7-Zip 16.04版本。 Python3 用于运行Flink Python作业。版本要求:Python3.7至Python3.10版本。
-
准备运行环境 进行应用开发时,需要同时准备代码的运行调测的环境,用于验证应用程序运行正常。 如果使用Linux环境调测程序,需在准备安装集群客户端的Linux节点并获取相关配置文件。 在节点中安装客户端,例如客户端安装目录为“/opt/client”。 客户端机器的时间与集群的时间要保持一致,时间差小于5分钟。 集群的Master节点或者Core节点使用客户端可参考集群内节点使用MRS客户端,MRS集群外客户端的安装操作可参考集群外节点使用MRS客户端。 登录 FusionInsight Manager页面,下载集群客户端软件包至主管理节点并解压,然后以root用户登录主管理节点,进入集群客户端解压路径下,复制“FusionInsight_Cluster_1_Services_ClientConfig\Flink\config”路径下的所有配置文件至客户端节点,放置到与准备放置编译出的jar包同目录的“conf”目录下,用于后续调测,例如“/opt/client/conf”。 例如客户端软件包为“FusionInsight_Cluster_1_Services_Client.tar”,下载路径为主管理节点的“/tmp/FusionInsight-Client”: cd /tmp/FusionInsight-Client tar -xvf FusionInsight_Cluster_1_Services_Client.tar tar -xvf FusionInsight_Cluster_1_Services_ClientConfig.tar cd FusionInsight_Cluster_1_Services_ClientConfig scp Flink/config/* root@客户端节点IP地址:/opt/client/conf 主要配置文件说明如表2所示。 表2 配置文件 文件名称 作用 core-site.xml 配置Flink详细参数。 hdfs-site.xml 配置HDFS详细参数。 yarn-site.xml 配置Yarn详细参数。 flink-conf.yaml Flink客户端配置文件。 检查客户端节点网络连接。 在安装客户端过程中,系统会自动配置客户端节点“hosts”文件,建议检查“/etc/hosts”文件内是否包含集群内节点的主机名信息,如未包含,需要手动复制解压目录下的“hosts”文件中的内容到客户端所在节点的hosts文件中,确保本地机器能与集群各主机在网络上互通。 (可选)若运行Python作业,需额外配置如下:(适用于MRS 3.3.0及以后版本) 使用root用户登录flink客户端安装节点,使用如下命令确认环境已成功安装Python 3.7及以后版本。 python3 -V 进入python3安装路径,安装路径如“/srv/pyflink-example”,执行以下命令安装virtualenv。 cd /srv/pyflink-example virtualenv venv --python=python3.x source venv/bin/activate 执行以下命令将客户端安装目录下的“Flink/flink/opt/python/apache-flink-*.tar.gz”文件复制到“/srv/pyflink-example”。 cp 客户端安装目录/Flink/flink/opt/python/apache-flink-*.tar.gz /srv/pyflink-example 执行以下命令安装依赖包,显示如下表示安装成功。 python -m pip install apache-flink-libraries-*.tar.gz python -m pip install apache-flink-版本号.tar.gz ... Successfully built apache-flink Installing collected packages: apache-flink Attempting uninstall: apache-flink Found existing installation: apache-flink x.xx.x Uninstalling apache- flink-x.xx.x: Successfully uninstalled apache-flink-x.xx.x Successfully installed apache-flink-x.xx.x
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格