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

厦门专业网站设计公司php网站建设网站

厦门专业网站设计公司,php网站建设网站,哪里可以做免费网站,公司网站推广是做什么Flink 简介与环境配置 实验介绍 在学习一门新的技术之前#xff0c;我们首先要了解它的历史渊源#xff0c;也就是说它为什么会出现#xff0c;它能够解决什么业务痛点。所以本节我们的学习目的是了解 Flink 的背景#xff0c;并运行第一个 Flink 程序#xff0c;对它有…Flink 简介与环境配置 实验介绍 在学习一门新的技术之前我们首先要了解它的历史渊源也就是说它为什么会出现它能够解决什么业务痛点。所以本节我们的学习目的是了解 Flink 的背景并运行第一个 Flink 程序对它有一个初步的印象。 知识点 流处理概述Flink 简介Flink 批处理 WordCountFlink 流处理 WordCount 流处理简介 流处理并不是一个新概念但是要做好并不是一件容易的事情。提到流处理我们最先想到的可能是金融交易、信号检测以及地图导航等领域的应用。但是近年来随着信息技术的发展除了前面提到的三个领域其它方向对数据时效性的要求也越来越高。随着 Hadoop 生态的崛起Storm、Spark Streaming、Samza、MillWheel 等一众流处理技术开始走入大众视野但是我们最熟悉的应该还是 Storm 和 Spark Streaming。 我们知道“高吞吐”、“低延迟”和”exactly-once“是衡量一个流处理框架的重要指标。 Storm 虽然提供了低延迟的流处理但是在高吞吐方面的表现并不算佳可以说基本满足不了日益暴涨的数据量而且也没办法保证精准一次消费。Spark Streaming 中通过微批次的批处理来模拟流处理只要将批处理的批次分的足够小那么从宏观上来看就是流处理这也是 Spark Streaming 的核心思想。通过微观批处理的方式Spark Streaming 也实现了高吞吐和 exactly-once 语义时效性也有了大幅提升在很长一段时间里占据流处理榜首。但是受限于其实现方式依然存在几秒的延迟对于那些实时性要求较高的领域来说依然不够完美。 在这样的背景下Flink 应运而生接下来我们正式进入 Flink 的学习。 Flink 简介 Apache Flink 是为分布式、高性能、随时可用以及准确 的流处理应用程序打造的开源流处理框架用于对无界和有界数据流进行有状态计算。Flink 最早起源于在 2010 ~ 2014 年由 3 所地处柏林的大学和欧洲的一些其它大学共同进行研究的名为 Stratosphere 的项目。2014 年 4 月 Stratosphere 将其捐赠给 Apache 软件基 金会 初始成员是 Stratosphere 系统的核心开发人员2014 年 12 月Flink 一跃成为 Apache 软件基金会的顶级项目。在 2015 年阿里也加入到了 Flink 的开发工作中并贡献了至少 150 万行代码。 Flink 一词在德语中有着“灵巧”、“快速”的意思它的 logo 原型也是柏林常见的一种松鼠以身材娇小、灵活著称为该项目取这样的名字和选定这样的 logo 也正好符合 Flink 的特点和愿景。 注意虽然我们说 Flink 是一个流处理框架但是它同样可以进行批处理。因为在 Flink 的世界观里批处理是流处理的一种特殊形式这和 Spark 不同在 Spark 中流处理是通过大批量的微批处理实现的。 运行第一个 Flink 程序 接下来我们运行第一个 Flink 程序感受一下它的魅力从而对它有一个初步的印象。 搭建开发环境 本课程使用的是本地环境。后续实验不再提示。 首先我们需要在环境中搭建 Flink 运行环境总共可以分为下面这几步 安装 jdk 并配置环境变量 【jdk 1.8】安装 scala 并配置环境变量 【Scala 2.11.12】安装 maven 并修改中心仓库为阿里云地址安装 IDEA 开发工具 【IDEA 2022.2.1或更新版】 我们的实验环境已经为大家安装了 jdk、scala、maven 和 IDEA只需要在 IDEA 里配置使用即可。 双击桌面的 IDEA 程序启动之后点击 File - New - Project 创建一个新的 Maven 工程 FlinkLearning 【或者New Project-Maven Archetype】 创建好之后点击左上角 File Settings 中将 Maven 的配置文件修改为 D:\programs\apahe-maven-3.6.3\conf\settings.xml配置之后的 Maven 中心仓库为阿里云加载依赖会快很多 项目中点击File-》Project Structure - Libraries-》加号-》添加Scala SDK-》选择所需要的scala版本-》ok进行下载 在工程 src/main 目录中创建 scala 文件夹然后右键选择 Mark Directory as并将其标记为 Sources Root。 在 scala 目录里创建 com.vlab.wc 包并分别创建 BatchWordCount 和 StreamWordCount 两个 Scala Object分别代表 Flink 批处理和 Flink 流处理。 至此我们的准备工作已经完成接下来正式进入编码阶段。 Flink 批处理 WordCount 修改 pom.xml 文件中的代码为如下 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdpblh123.lh/groupIdartifactIdFlinkLearning/artifactIdversion1.0-SNAPSHOT/versionpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/properties!-- 配置国内 Maven 依赖库的镜像源镜--repositoriesrepositoryidaliyun/idurlhttps://maven.aliyun.com/repository/public/url/repository/repositories !--配置插件的镜像源--pluginRepositoriespluginRepositoryidaliyun/idurlhttps://maven.aliyun.com/repository/public/url/pluginRepository/pluginRepositoriesdependenciesdependencygroupIdorg.apache.flink/groupIdartifactIdflink-scala_2.12/artifactIdversion1.17.2/version/dependencydependencygroupIdorg.apache.flink/groupIdartifactIdflink-streaming-scala_2.12/artifactIdversion1.17.2/version/dependencydependencygroupIdorg.apache.flink/groupIdartifactIdflink-clients/artifactIdversion1.17.2/version/dependency/dependenciesbuildplugins!-- 该插件用于将 Scala 代码编译成 class 文件 --plugingroupIdnet.alchim31.maven/groupIdartifactIdscala-maven-plugin/artifactIdversion3.4.6/versionexecutionsexecutiongoalsgoaltestCompile/goal/goals/execution/executions/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-assembly-plugin/artifactIdversion3.6.0/versionconfigurationarchivemanifestmainClass/mainClass/manifest/archivedescriptorRefsdescriptorRefjar-with-dependencies/descriptorRef/descriptorRefs/configurationexecutionsexecutionidmake-assembly/idphasepackage/phasegoalsgoalsingle/goal/goals/execution/executions/plugin/plugins/build/project修改完成后注意点击加载图标重新 Load。 BatchWordCount.scala 中的代码如下 package com.vlab.wcimport org.apache.flink.api.scala._/*** projectName FlinkLearning* package com.vlab.wc* className com.vlab.wc.BatchWordCount* description Flink Batch Word Count Example* author pblh123* date 2025/2/7 14:41* version 1.17.2*/ object BatchWordCount {def main(args: Array[String]): Unit {// 判断输入参数数量是否正确if (args.length ! 1) {System.err.println(Usage: BatchWordCount input path)System.exit(5)}// 获取输入路径val inputPath args(0)// 创建执行环境val env ExecutionEnvironment.getExecutionEnvironment// 读取输入数据val inputDS: DataSet[String] env.readTextFile(inputPath)// 计算词频val wordCountDS: DataSet[(String, Int)] inputDS.flatMap(_.split(\\s)) // 扁平化并且处理多个空格作为分隔符.map((_, 1)) // 转换为 (word, 1).groupBy(0) // 按第一个字段word进行分组.sum(1) // 对第二个字段计数求和// 打印输出wordCountDS.print()} }在 datas/words.txt 路径下创建 words.txt 文件并在其中加入如下内容注意每个单词之间使用空格分隔 hello world hello flink hello spark hello java右键选中 BatchWordCount.scala点击 Run 运行将会看到如下输出 如果出现一些其他的报错和警告可以忽略。 (java,1) (world,1) (flink,1) (hello,4) (spark,1)Flink 流处理 WordCount 在 StreamWordCount.scala 中加入如下代码 package com.vlab.wcimport org.apache.flink.streaming.api.scala._/*** projectName FlinkLearning * package com.vlab.wc * className com.vlab.wc.StreamWordCount * description ${description} * author pblh123* date 2025/2/7 14:41* version 1.0**/object StreamWordCount {def main(args: Array[String]): Unit {// 创建执行环境val env StreamExecutionEnvironment.getExecutionEnvironment// 监控Socket数据val textDstream: DataStream[String] env.socketTextStream(localhost, 9999)// 导入隐式转换import org.apache.flink.api.scala._// 计算逻辑val dataStream: DataStream[(String, Int)] textDstream.flatMap(_.split( )).filter(_.nonEmpty).map((_, 1)).keyBy(0).sum(1)// 设置并行度dataStream.print().setParallelism(1)// 执行env.execute(Socket stream word count)} }打开终端并输入 nc -l -p 9999然后输入以下内容 hello world hello flink hello spark hello java运行 StreamWordCount.scala 将会看到如下输出 (hello,1) (flink,1) (hello,2) (spark,1) (java,1) (hello,3) ...至此我们的第一个 Flink 实验就已经完成了。 实验总结 本节实验中我们介绍了 Flink 出现的背景并和 Storm、Spark Streaming 做了简单对比然后在实验环境下安装了 idea 开发工具并运行了第一个 Flink 程序。至此相信大家已经对 Flink 已经有了一个初步的认识。
http://www.dnsts.com.cn/news/243162.html

相关文章:

  • 宝安营销型网站制作重庆旅游网页设计
  • 网站制作app免费软件成都做小程序的公司排名
  • 网站怎么制作 推广模板做的网站不好优化
  • 为什么网站后台怎么换图片个体户网站备案
  • 简约 个人网站应用公园收费标准
  • 房屋设计师室内设计镇江seo网站
  • wordpress网站中英文切换wordpress 4.9
  • 广州英文网站建设做网站要注意些什么
  • 网站超级链接wordpress用户注册优化
  • 做网站 套用模板之后用什么改注册地址出租多少钱
  • 怎么做网站滑动图片部分h5成都装修公司投诉平台
  • 公司网站开发人员的的工资多少钱西昌市规划建设局网站
  • alexa怎么查询网站排名最有效的宣传方式
  • 微信如何建商城网站北京seo服务
  • 青山做网站建设一个境外网站
  • 上海网站空间租用合肥公司网站开发
  • 网站建立的重要性为什么要选择高端网站定制
  • wordpress 动漫网站wordpress备份 方案
  • 永康市住房和城乡建设局网站wordpress内容登陆后可见
  • 类似qq空间的网站模板网站搭建策划书
  • 建站专家最新永久地域自动跳转
  • 怎样创建一个网站湛江网站建站建设
  • 成都市成华区建设局官方网站网站建设氺首选金手指13
  • 服装网站建设课程网站收录提交接口
  • 商业十大网站html5手机网站模板
  • 酒店怎样做网站好评php 用什么做网站服务器吗
  • 上海企乐网站制作公司wordpress知言主题
  • 凡科建站代理登录crm系统客户管理系统
  • 深圳建立企业网站wordpress丢失连接
  • 驻马店营销型网站建设优化推广app开发大概费用多少钱