Flink快速上手之Scala API使用

Similar documents
使用Cassandra和Spark 2.0实现Rest API服务

Spark读取Hbase中的数据

Apache CarbonData集群模式使用指南

在Spring中使用Kafka:Producer篇

使用MapReduce读取XML文件

通过Hive将数据写入到ElasticSearch

Flink快速上手(QuickStart)

Guava学习之Resources

Hive:用Java代码通过JDBC连接Hiveserver

使用Spark SQL读取Hive上的数据

六种使用Linux命令发送带附件的邮件

三种方法实现Hadoop(MapReduce)全局排序(1)

Kafka客户端是如何找到 leader 分区的

SparkR(R on Spark)编程指南

韶关:神奇丹霞

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

Hadoop 2.2.0安装和配置lzo

哼, 你 們 不 回 答 又 怎 麼 樣? 不 管 是 多 大 來 頭, 現 在 都 被 血 魔 吞 噬 無 蹤 了 你 們 幾 個 真 是 太 過 分, 我 不 犯 你 們, 你 們 卻 一 天 到 晚 來 挑 釁 我 教 尊 冷 笑 著 說 道 嗚, 大 人 土 地 大 姐 跪 下 來, 流 下

附录J:Eclipse教程

伊春:醉人林都

Flume-ng与Mysql整合开发

Spark作业代码(源码)IDE远程调试

目次 

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

关林:武圣陵寝

泰山:五岳独尊

Ubuntu和CentOS如何配置SSH使得无密码登陆

国内26省市新能源汽车推广规划已出台

Spark 2.0介绍:在Spark SQL中定义查询优化规则

目 錄 版 次 變 更 記 錄... 2 原 始 程 式 碼 類 型 之 使 用 手 冊... 3 一 安 裝 軟 體 套 件 事 前 準 備... 3 二 編 譯 流 程 說 明

Hadoop元数据合并异常及解决方法

北戴河:海阔天空

在Fedora上部署Hadoop2.2.0伪分布式平台

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO


西岭雪山滑雪场

Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE "Project Properties" IDE makefile 1.

NEXT SDT2.51 C:\ARM251 SDT2.51 ARM SDT 2.51 ARM PROJECT MANAGER SDT 2

Oracle Oracle Solaris Studio IDE makefile C C++ Fortran makefile IDE Solaris Linux C/C++/Fortran Oracle IDE "P

将 MySQL 的全量数据导入到 Apache Solr 中

epub83-1

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

Microsoft Word zw

ebook

電機工程系認可證照清單 /7/1

使用Apache Spark将数据写入ElasticSearch

, 即 使 是 在 昏 暗 的 灯 光 下, 她 仍 然 可 以 那 么 耀 眼 我 没 有 地 方 去, 你 会 带 着 我 么 杜 晗 像 是 在 嘲 笑 一 般, 嘴 角 的 一 抹 冷 笑 有 着 不 适 合 这 个 年 龄 的 冷 酷 和 无 情, 看 着 江 华 的 眼 神 毫 无 温

江门:中国第一侨乡

是 喔, 就 是 那 個 在 BBS 醫 療 版 跟 你 嗆 聲, 自 稱 有 三 十 多 年 推 拿 經 驗 的 大 叔 嗎? 一 個 看 來 頗 為 清 秀 的 女 生 問 道, 她 語 氣 中 略 感 訝 異 是 啊, 什 麼 推 拿 按 摩 有 多 好, 還 要 人 生 病 盡 量 不 要

教育扩张能改善收入分配差距吗?——来自CHNS2006年数据的证据

山水文化,市井人家——以湖州邱城小镇的概念性规划为例

第一章

untitled

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

团 学 要 闻 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 3 月 17 日, 我 校 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 在 行 政 办 公 楼 五 楼 会 议 室 举 行, 校 团 委 委 员 各 院 ( 系 ) 团 委 书 记 校 学 生

WWW PHP

三种恢复 HDFS 上删除文件的方法

三种方法实现Hadoop(MapReduce)全局排序(2)

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

教 务 信 息 教 学 日 常 运 行 工 作 4 月 6 日, 教 务 部 高 丽 琴 老 师 参 加 南 昌 市 教 育 局 2016 年 中 小 学 教 师 资 格 认 定 工 作 培 训 会 2016 年 教 师 资 格 认 定 工 作 是 从 省 考 向 国 考 过 渡 后 的 第 一 次

计算机网络与经济(二).doc

Microsoft PowerPoint ?????????3 [Compatibility Mode]

派遣公司人力資源管理措施對派遣人員離職傾向之影響:

Hive几种数据导入方式

EK-STM32F

第 一 节 认 识 自 我 的 意 义 一 个 人 只 有 认 识 自 我, 才 能 够 正 确 地 认 识 到 自 己 的 优 劣 势, 找 出 自 己 的 职 业 亮 点, 为 自 己 的 顺 利 求 职 推 波 助 澜 ; 一 个 人 只 有 认 识 自 我, 才 能 在 求 职 中 保 持

2 Java 语 言 程 序 设 计 教 程 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

<4D F736F F D20BBF9D3DA416E64726F6964C6BDCCA8B5C4B5E7D7D3C5C4C2F4CFB5CDB32E646F63>

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

MAVEN 基 础 概 念 Lifecycle Phase Plugin / Goal

Microsoft Word - 中耳的主要疾病~中耳炎.doc

會 議 紀 錄 各 業 務 部 門 工 作 報 告 第 10 屆 第 2 次 定 期 大 會 教 育 委 員 會 第 1 次 工 作 報 告 會 議 紀 錄 時 間 : 中 華 民 國 96 年 10 月 2 日 ( 星 期 二 ) 上 午 10 時 16 分 至 12 時 35 分 地 點 : 本

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

1. 2. Flex Adobe 3.

4.1 AMI MQSeries API AMI MQI AMI / / AMI JavaC C++ AMI / AMI AMI - / /

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

ABOUT ME AGENDA 唐建法 / TJ MongoDB 高级方案架构师 MongoDB 中文社区联合发起人 Spark 介绍 Spark 和 MongoDB 案例演示

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

Java 1 Java String Date

D C 93 2

AL-M200 Series

深入理解Hadoop Streaming

行 业 市 场 研 究 属 于 企 业 战 略 研 究 范 畴, 作 为 当 前 应 用 最 为 广 泛 的 咨 询 服 务, 其 研 究 报 告 形 式 呈 现, 通 常 包 含 以 下 内 容 : 一 份 专 业 的 行 业 研 究 报 告, 注 重 指 导 企 业 或 投 资 者 了 解 该

COCO18-DensePose-BUPT-PRIV

f2.eps

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

张家口:塞外明珠

华南理工大学广州学院

2/14 Buffer I12, /* x=2, buffer = I 1 2 */ Buffer I243, /* x=34, buffer = I 2 43 */ x=56, buffer = I243 Buffer I243I265 code_int(int x, char *buffer)

据传-蚂蚁金服350亿美元开约A股IPO,马云身价又要暴涨

HBase 中加盐(Salting)之后的表如何读取:协处理器篇

場 的 職 能 需 求 狀 況, 並 能 有 一 套 職 能 管 理 資 訊 系 統 對 各 職 位 進 行 職 能 資 料 管 理 分 析 與 應 用 資 料, 則 對 企 業 人 力 應 用 與 提 昇 上 均 有 極 大 之 助 益, 故 本 研 究 之 主 要 目 的 有 二 : (1) 職

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii

闖 關 組 4. 任 一 隊 員 曾 獲 得 第 一 屆 第 2 次 全 國 大 專 ITSA 盃 程 式 設 計 桂 冠 挑 戰 大 賽 菁 英 組 前 三 名 或 歷 屆 全 國 大 專 ITSA 盃 程 式 設 計 桂 冠 挑 戰 大 賽 挑 戰 組 前 三 名 應 報 此 組 5. 任 一

PDF 入不思議解脫境界普賢行願品 ... 《大方廣佛華嚴經卷第四十》

untitled

Microsoft Word - 9月份交流道.doc

Transcription:

Flink 快速上手之 Scala API 使用 本文将介绍如何通过简单地几步来开始编写你的 Flink Scala 程序 构建工具 Flink 工程可以使用不同的工具进行构建, 为了快速构建 Flink 工程, Flink 为下面的构建工具分别提供了模板 : 1 SBT 2 Maven 这些模板可以帮助我们组织项目结构并初始化一些构建文件 SBT 创建工程 1 使用 Giter8 可以使用下面命令插件一个 Flink 工程 : $ g8 tillrohrmann/flink-project 这将在指定的工程目录下, 用 flink-project 模版创建一个 Flink 工程 如果你没有安装 giter8, 请参照此安装指南 2 克隆 repository $ git clone https://github.com/tillrohrmann/flink-project.git 这将在 flink-project 目录下创建 Flink 工程 3 运行 quickstart 脚本 1 / 6

$ bash <(curl https://flink.apache.org/q/sbt-quickstart.sh) 这将在指定的工程目录下创建 Flink 工程 构建工程 为了构建工程, 我们只需要简单地执行 sbt clean assembly 命令 这将会在 target/scala_your-major-scala-version/ 目录里面创建 fat-jar your-project-nameassembly-0.1-snapshot.jar 运行工程 我们可以使用 sbt run 命令来运行之前构建的工程 默认情况下, 作业将会和 sbt 运行在同一个 JVM 上 如果你想让作业运行在不同的 JVM 上, 将以下代码加入至 build.sbt: fork in run := true IntelliJ 我们推荐使用 IntelliJ 作为你的 Flink job 的开发环境 首先, 你需要将新创建的工程导入至 IntelliJ 操作步骤依次 :File -> New -> Project from Existing Sources..., 然后选择你的工程目录来导入工程 IntelliJ 会检测到 build.sbt 文件并自动导入 如果你想要运行 Flink 作业, 建议将 mainrunner 模块作为 Run/Debug Configuration 的 classpath 路径 这将保证在执行过程中, 所有标识为 provided 的依赖都可用 你可以通过打开 Run -> Edit Configurations... 来配置 Run/Debug Configurations, 然后从 Use classpath of module 下拉框中选择 mainrunner Eclipse 如果你想要将新建的工程导入至 Eclipse, 首先你得为它创建 Eclipse 工程文件 这些工程文件可以通过 sbteclipse 插件来创建 将以下代码加入至 PROJECT_DIR/project/plugins.sbt 文件 : addsbtplugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "4.0.0") 2 / 6

在 sbt 交互式环境下使用下列命令创建 Eclipse 工程文件 : > eclipse 现在你可以通过打开 File -> Import... -> Existing Projects into Workspace 并选择你的工程目录, 将之导入至 Eclipse Maven 要求 (Requirements) 只需要安装 Maven 3.0.4( 或更高版本 ) 和 Java 7.x( 或更高版本 ) 即可 创建工程 使用下列其中一个命令即可创建工程 : 1 使用 Maven archetypes $ mvn archetype:generate \ -DarchetypeGroupId=org.apache.flink \ -DarchetypeArtifactId=flink-quickstart-scala \ -DarchetypeVersion=1.0.0 这种创建方式允许你给新创建的工程命名 它会提示你输入 groupid artifactid, 以及 package name 2 运行 quickstart 脚本 $ curl https://flink.apache.org/q/quickstart-scala.sh bash 上面两个命令 ( 使用 Maven 创建的时候需要输入 artifactid groupid 等相关信息 ) 运行完之后都会产生类似于以下的目录结构 :. pom.xml 3 / 6

src main resources log4j.properties scala com iteblog Job.scala SocketTextStreamWordCount.scala WordCount.scala 6 directories, 5 files 这里使用 Maven 创建 Scala 工程的方式和之前 Flink 快速上手之 Java API 使用 文章里面的方式很类似 检查工程 (Inspect Project) 运行完上面的脚本或者命令之后, 在你的工作目录下将会出现一个新的目录 如果你使用了 curl 建立工程, 这个目录就是 quickstart 否则, 就以你输入的 artifactid 命名 这个示例工程是一个包含三个类的 Maven 工程 Job 是一个基本的框架程序, SocketTextSt reamwordcount 和 WordCount 是一个简单的单词次数计算示例 需要注意的是, 这三个类的 mai n 方法都允许你在开发 / 测试模式下启动 Flink 推荐把这个工程导入你的 IDE 进行测试和开发 如果用的是 Eclipse, 你需要从常用的 Eclipse 更新站点上下载并安装以下插件 : 1 Eclipse 4.x Scala IDE m2eclipse-scala Build Helper Maven Plugin 2 Eclipse 3.7 Scala IDE m2eclipse-scala Build Helper Maven Plugin IntelliJ IDE 也支持 Maven 并提供了一个用于 Scala 开发的插件 编译工程 4 / 6

如果想要构建你的工程, 进入工程目录并输入 mvn clean package -Pbuild-jar 命令 你会找到一个 jar 包 : target/your-artifact-id-1.0-snapshot.jar, 它可以在任意 Flink 集群上运行 还有一个 fat-jar, target/your-artifact-id-1.0-snapshot-flink-fat-jar.jar, 包含了所有添加到 Maven 工程的依赖 下一步 Next Steps 开始编写我们自己的程序 Quickstart 工程包含了一个 WordCount 的实现, 也就是大数据处理系统的 Hello World WordCount 的目标是计算文本中单词出现的频率 比如 : 单词 the 或者 house 在所有的 Wikipedia 文本中出现了多少次 样本输入 big data is big 样本输出 big 2 data 1 is 1 下面的代码就是 Quickstart 工程的 WordCount 实现, 它使用两种操作 ( FlatMap 和 Reduce ) 处理了一些文本, 并且在标准输出中打印了单词的计数结果 object WordCountJob { def main(args: Array[String]) { // set up the execution environment val env = ExecutionEnvironment.getExecutionEnvironment // get input data val text = env.fromelements("to be, or not to be,--that is the question:--", "Whether 'tis nobler in the mind to suffer", "The slings and arrows of outrageous fortune", "Or to take arms against a sea of troubles,") val counts = text.flatmap { _.tolowercase.split("\\w+") } 5 / 6

Powered by TCPDF (www.tcpdf.org) Flink 快速上手之 Scala API 使用.map { (_, 1) }.groupby(0).sum(1) // emit result counts.print() } } 请到 https://github.com/apache/flink/blob/master//flink-examples/flink-scala-examples/src/ma in/scala/org/apache/flink/examples/scala/wordcount/wordcount.scala 里面查看完整的代码 本博客文章除特别声明, 全部都是原创! 转载本文请加上 : 转载自过往记忆 (https://www.iteblog.com/) 本文链接 : () 6 / 6