云星数据---Apache Flink实战系列(精品版)】:Flink流处理API详解与编程实战012-Flink在流处理中常见的sink和source001

183 篇文章 0 订阅
86 篇文章 57 订阅

一、flink在流处理上的source

flink在流处理上的source和在批处理上的source基本一致。大致有4大类
1.基于本地集合的source(Collection-based-source2.基于文件的source(File-based-source3.基于网络套接字的source(Socket-based-source4.自定义的source(Custom-source

1.基于本地集合的source

package code.book.stream.sinksource.scala

import org.apache.flink.streaming.api.scala.{StreamExecutionEnvironment, _}

import scala.collection.immutable.{Queue, Stack}
import scala.collection.mutable
import scala.collection.mutable.{ArrayBuffer, ListBuffer}

object DataSource001 {
  def main(args: Array[String]): Unit = {
    val senv = StreamExecutionEnvironment.getExecutionEnvironment
    //0.用element创建DataStream(fromElements)
    val ds0: DataStream[String] = senv.fromElements("spark", "flink")
    ds0.print()

    //1.用Tuple创建DataStream(fromElements)
    val ds1: DataStream[(Int, String)] = senv.fromElements((1, "spark"), (2, "flink"))
    ds1.print()

    //2.用Array创建DataStream
    val ds2: DataStream[String] = senv.fromCollection(Array("spark", "flink"))
    ds2.print()

    //3.用ArrayBuffer创建DataStream
    val ds3: DataStream[String] = senv.fromCollection(ArrayBuffer("spark", "flink"))
    ds3.print()

    //4.用List创建DataStream
    val ds4: DataStream[String] = senv.fromCollection(List("spark", "flink"))
    ds4.print()

    //5.用List创建DataStream
    val ds5: DataStream[String] = senv.fromCollection(ListBuffer("spark", "flink"))
    ds5.print()

    //6.用Vector创建DataStream
    val ds6: DataStream[String] = senv.fromCollection(Vector("spark", "flink"))
    ds6.print()

    //7.用Queue创建DataStream
    val ds7: DataStream[String] = senv.fromCollection(Queue("spark", "flink"))
    ds7.print()

    //8.用Stack创建DataStream
    val ds8: DataStream[String] = senv.fromCollection(Stack("spark", "flink"))
    ds8.print()

    //9.用Stream创建DataStream(Stream相当于lazy List,避免在中间过程中生成不必要的集合)
    val ds9: DataStream[String] = senv.fromCollection(Stream("spark", "flink"))
    ds9.print()

    //10.用Seq创建DataStream
    val ds10: DataStream[String] = senv.fromCollection(Seq("spark", "flink"))
    ds10.print()

    //11.Set创建DataStream(不支持)
    //val ds11: DataStream[String] = senv.fromCollection(Set("spark", "flink"))
    //ds11.print()

    //12.用Iterable创建DataStream(不支持)
    //val ds12: DataStream[String] = senv.fromCollection(Iterable("spark", "flink"))
    //ds12.print()

    //13.用ArraySeq创建DataStream
    val ds13: DataStream[String] = senv.fromCollection(mutable.ArraySeq("spark", "flink"))
    ds13.print()

    //14.用ArrayStack创建DataStream
    val ds14: DataStream[String] = senv.fromCollection(mutable.ArrayStack("spark", "flink"))
    ds14.print()

    //15.用Map创建DataStream(不支持)
    //val ds15: DataStream[(Int, String)] = senv.fromCollection(Map(1 -> "spark", 2 -> "flink"))
    //ds15.print()

    //16.用Range创建DataStream
    val ds16: DataStream[Int] = senv.fromCollection(Range(1, 9))
    ds16.print()

    //17.用fromElements创建DataStream
    val ds17: DataStream[Long] = senv.generateSequence(1, 9)
    ds17.print()

    senv.execute(this.getClass.getName)
  }
}

2.基于文件的source(File-based-source)


package code.book.stream.sinksource.scala

import org.apache.flink.streaming.api.scala._
object DataSource003 {
  def main(args: Array[String]): Unit = {
    //0.创建运行环境
    val env = StreamExecutionEnvironment.getExecutionEnvironment
    //1.读取本地文件
    val text1 = env.readTextFile("file:///$FLINK_HOME/README.txt")
    text1.print()
    //1.读取hdfs文件
    val text2 = env.readTextFile("hdfs://qingcheng11:9000/input/flink/README.txt")
    text2.print()
    env.execute()
  }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 金蝶云星空是一款企业云服务平台,金蝶云星空的新webapi资料包是金蝶云星空的API接口文档集合,包含了开发者可以使用的各种API接口,以满足不同的业务需求。开发者可以通过该资料包,进行快速地集成和开发。 该资料包包含各类API的详细介绍、使用方法、参数说明、返回值格式等详细信息,使开发者能够更加清晰、准确的了解如何使用这些API,进而开发出适用于企业具有高度智能化和自动化的应用。同时,金蝶云星空的API接口还提供了多语言支持,开发者可以针对自己使用的编程语言进行集成,减少开发难度和成本。 此外,金蝶云星空的新webapi资料包还具有高度的安全性和可靠性,该资料包对数据传输采用了安全加密技术,防止信息泄露和攻击。同时,金蝶云星空还提供了专业的技术支持团队,开发者可以通过官方的技术支持渠道,获得快速、专业的技术支持服务,解决开发过程出现的问题。 总的来说,金蝶云星空的新webapi资料包是一款功能丰富、易于使用、安全可靠的API集合,可为开发者提供更好、更高效的云服务开发体验,是企业云服务开发过程重要的利器。 ### 回答2: 金蝶云星空是一款云化财务管理软件,支持企业财务、报表、往来账、现金管理等多种财务管理功能。而新webapi资料包则是金蝶云星空的全新升级,它为用户提供了更加全面、方便、灵活的资料维护和查询功能。 新webapi资料包主要包含以下特点: 1. 支持多种资料类型的维护和查询,包括客户、供应商、物料、销售订单、采购订单等。 2. 支持通过批量方式导入、导出各种资料,大大提高了数据录入和导出的效率。 3. 提供了可视化的数据分析和展示工具,帮助用户更好地了解和管理自己的业务数据。 4. 接口规范、易于操作,支持多种编程语言和开发平台,为企业自身的信息化建设提供了很好的支持。 总之,新webapi资料包的推出,不仅使得金蝶云星空的功能更加全面,而且也为企业用户提供了更加便捷灵活的资料管理方式,是一款非常值得推荐的软件工具。 ### 回答3: 金蝶云星空是金蝶公司推出的云平台服务,旨在为企业提供全方位的数字化解决方案和服务。新webapi资料包则是金蝶云星的重要功能之一,它能够帮助企业轻松实现数据的对接和交换,提供了大量开放API可供使用。 新webapi资料包具有以下特点: 1. 简单易用:采用Restful风格的接口,使开发者能够快速上手,快速实现与各种前端、后端框架集成。 2. 安全可靠:通过使用OAuth2.0协议和HTTPS协议来保证访问安全性和数据保密性。 3. 微服务化:新webapi资料包采用了微服务化架构,支持跨越不同的应用系统和平台,从而实现实现应用程序之间的数据集成和交换。 4. 多平台支持:新webapi资料包不仅支持多种语言的移动客户端,还支持多种平台的Web应用程序接入。 总之,新webapi资料包是一款全面、灵活、易用的数据对接工具,为企业提供了一种快速连接和集成不同系统和应用程序的简单方式。它能够帮助企业提高效率,提高数据通性,进而实现企业数字化转型的目标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值