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

4.1、Flink任务怎样读取集合中的数据

1、API说明

非并行数据源:
        def fromElements[T: TypeInformation](data: T*): DataStream[T]
        def fromCollection[T: TypeInformation](data: Seq[T]): DataStream[T] 
        def fromCollection[T: TypeInformation] (data: Iterator[T]): DataStream[T] 

并行数据源:
        def fromParallelCollection[T: TypeInformation] (data: SplittableIterator[T])

使用场景:

        常用来调试代码使用


2、这是一个完整的入门案例

开发语言:Java1.8

Flink版本:flink1.17.0

package com.baidu.datastream.source;import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.util.NumberSequenceIterator;import java.util.Arrays;
import java.util.List;// --------------------------------------------------------------------------------------------
//  TODO 从集合中读取数据
// --------------------------------------------------------------------------------------------/**  TODO 通过`读取Java集合中数据`来创建 DataStreamSource**  方法1:fromCollection*        Collection、Iterator -> DataStreamSource*  方法2:fromElements*        OUT... data -> DataStreamSource*  方法3:fromParallelCollection*        SplittableIterator -> DataStreamSource*  重要提示:*       fromCollection、fromElements 创建的是非并行source算子(并行度只能为1)*       fromParallelCollection 创建的是并行算子(并行度>=1)* */public class ReadCollection {public static void main(String[] args) throws Exception {fromCollection();//fromElements();//fromParallelCollection();}public static void fromCollection() throws Exception {// 1.获取执行环境StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();env.setParallelism(3);// 2.读取Java集合数据List<String> list = Arrays.asList("刘备", "张飞", "关羽", "赵云", "马超", "黄忠");env.fromCollection(list).print();// 3.触发程序执行env.execute();}public static void fromElements() throws Exception {// 1.获取执行环境StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();env.setParallelism(3);// 2.读取给定的对象序列env.fromElements("刘备", "张飞", "关羽", "赵云", "马超", "黄忠").print();// 3.触发程序执行env.execute();}public static void fromParallelCollection() throws Exception {// 1.获取执行环境StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();env.setParallelism(3);// 2.读取给定的对象序列NumberSequenceIterator numberSequenceIterator = new NumberSequenceIterator(1, 10);env.fromParallelCollection(numberSequenceIterator, Long.class).print();/** 注意: fromParallelCollection生成的source为并行算子*       集合中的数据会被平均分配到并行子任务中去* */// 3.触发程序执行env.execute();}
}

相关文章:

4.1、Flink任务怎样读取集合中的数据

1、API说明 非并行数据源&#xff1a; def fromElements[T: TypeInformation](data: T*): DataStream[T] def fromCollection[T: TypeInformation](data: Seq[T]): DataStream[T] def fromCollection[T: TypeInformation] (data: Iterator[T]): Data…...

JD商品详情页面+关键词搜索商品列表API接口数据,详情页面数据返回值说明

作为一个工作助手&#xff0c;我无法直接为您提供实时的京东商品详情。您可以通过访问京东官方网站或使用API接口来查看商品的详细信息。每个商品的详情页面通常会包括以下内容&#xff1a; 1. 商品标题&#xff1a;商品的名称和简要描述。 2. 价格信息&#xff1a;包括原价、…...

Electron v26.0.0-beta.11 发布,跨平台桌面应用开发工具

Electron是一款跨平台桌面应用开发工具,它基于Web技术,使用HTML、CSS和JavaScript来构建应用程序。它能够让开发者使用熟悉的Web开发技术来创建强大的桌面应用,并且可以运行在Windows、macOS和Linux等多个操作系统上。 一、Electron的特点 跨平台:Electron可以将Web技术转…...

提高办案效率:公检系统引入自动校对技术

引入自动校对技术到公检系统中可以有效提高办案效率。自动校对技术结合公检系统的特点&#xff0c;可以在以下方面提高办案效率&#xff1a; 1.节省时间&#xff1a;自动校对技术可以快速检测和修正法律文书中的语法、拼写和标点符号等错误。与手动校对相比&#xff0c;自动校对…...

iptables 清空

清空 iptables中所有策略。 -Z&#xff1a; 重置计数器 -F&#xff1a;删除所有规则&#xff08;flush&#xff09; -X&#xff1a;删除所有自定义的链 规则清理和重建如下&#xff1a; iptables -Z iptables -t nat -F iptables -t nat -X iptables -t nat -P PREROUTING A…...

网络安全(黑客)零基础入门

导语 什么是 Web 安全&#xff1f;我又该如何入门学习它呢&#xff1f;学习过程中又应注意哪些问题呢&#xff1f;... 或许你的心中有着这样的疑问、不过别着急&#xff0c;本文会为你一一解答这些问题。 正文 定义 Web 安全&#xff0c;顾名思义便是由保障 Web 应用能够持续…...

Al Go: 蒙特卡洛树搜索(MCTS)简介

目录 1. 前言 1.1 Minimax 1.2 剪枝 1.3 蒙特卡洛树搜索 1.4 为什么随机走子会可行呢&#xff1f; 2. vanilla Monte Carlo tree search 3. UCT-based trade-off between exploitation and exploration 4. MCTS基本算法流程 5. Efficiency Through Expert Policies 6…...

Client-go操作Deployment

在工作中需要对kubernetes进行自定义资源的开发&#xff0c;操作K8s的资源肯定是必不可少的。K8s原生语言是用Go编写的&#xff0c;所以在CRD中使用client-go来操作资源。本次介绍一下使用client-go来操作Deployment。 1. 创建main函数 func main() {homePath : homedir.Home…...

设计模式——单例模式(懒汉和饿汉)

单例模式 一、概念 单例模式是一种对象创建型模式&#xff0c;使用单例模式&#xff0c;可以保证为一个类只生成唯一的实例对象。也就是说&#xff0c;在整个程序空间中&#xff0c;该类只存在一个实例对象。一个类只能有一个实例在生活中是很常见的&#xff0c;比如打印机程…...

详解——Vue3递归函数功能

在 Vue 3 中&#xff0c;递归函数是一种在组件中调用自身的技术。递归函数在解决树状数据结构、无限级分类、嵌套组件等情况下非常有用。以下是一个示例&#xff0c;展示如何在 Vue 3 中实现递归函数的功能、代码和原理&#xff1a; 1. 创建递归组件&#xff1a; 首先&#x…...

【VSCode】查看二进制文件

1.安装插件Hex Editor 2.打开二进制文件 3.执行Hex Editor命令...

C#设计模式之观察者模式

题目&#xff1a;假设你正在开发一个简单的新闻发布系统&#xff0c;该系统允许用户订阅不同的新闻频道&#xff0c;并在有新闻发布时向订阅者发送通知。使用观察者模式设计和实现该系统。观察者模式的相关概念和定义&#xff1a; 观察者模式是一种行为设计模式&#xff0c;它定…...

小红书攻略:爆款引流,如何在激烈竞争中脱颖而出?

小红书&#xff08;RED&#xff09;作为国内最具影响力的社交电商平台之一&#xff0c;是很多品牌运营者的首选之一。然而&#xff0c;在小红书的激烈竞争中&#xff0c;如何快速引流、吸引关注&#xff0c;成为了品牌运营者面临的挑战。本篇文章一秒推小编将为您介绍小红书运营…...

Ubuntu中的安装卸载及删除方法

说明&#xff1a;由于图形化界面方法&#xff08;如Add/Remove... 和Synaptic Package Manageer&#xff09;比较简单&#xff0c;所以这里主要总结在终端通过命令行方式进行的软件包安装、卸载和删除的方法。 一、Ubuntu中软件安装方法 1、APT方式 &#xff08;1&#xff0…...

获取历史dokcer镜像项目,并上传gitlab,再打包镜像管理

今天遇到一个问题&#xff1a; 发现一个部署在Jenkins的脚本用的docker镜像是&#xff1a;test_project:v20191108&#xff0c;即这个项目是19年的一个版本&#xff0c;由于代码不断更新&#xff0c;用现在的最新代码运行该脚本&#xff0c;可能不能运行了&#xff0c;必须用19…...

【Go语言】Golang保姆级入门教程 Go初学者chapter3

Go语言 第三章 运算符 下划线“_”本身在Go中一个特殊的标识符&#xff0c;成为空标识符。可以代表任何其他的标识符&#xff0c;但是他对应的值就会被忽略 仅仅被作为站维度使用&#xff0c; 不能作为标识符使用 因为Go语言中没有private public 所以标记变量首字母大写代表其…...

网络防御(4)

一、结合以下问题对当天内容进行总结 1. 什么是IDS&#xff1f; 2. IDS和防火墙有什么不同&#xff1f; 3. IDS工作原理&#xff1f; 4. IDS的主要检测方法有哪些详细说明&#xff1f; 5. IDS的部署方式有哪些&#xff1f; 6. IDS的签名是什么意思&#xff1f;签名过滤器有什么…...

conda错误处理:ResolvePackageNotFound

当运行conda env create -f environment.yaml时出现"ResolvePackageNotFound"错误&#xff0c;这可能是由于环境配置文件中指定的依赖项无法找到或不可用。 错误消息中列出的依赖项包括pip20.3、python3.8.5和cudatoolkit11.3。 尝试以下解决方案&#xff1a; 更新…...

linux初学者小命令

linux初学者小命令 一.在正式学习linux命令之前需要先认识一下linux环境中命令是如何被执行的shell是一个属于linux内核的软件&#xff0c;在系统启动后加载进RAM(内存)内&#xff0c;每个用户通过终端登录系统后&#xff0c;就会运行。负责不间断的接收用户的输入&#xff0c…...

宝尊电商短期前景堪忧,宝尊国际能否取得成功还有待验证

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 核心业务面临短期逆风 在2023年第一季度财报中&#xff0c;宝尊电商&#xff08;BZUN&#xff09;表示其电商业务(简称BEC)主要包括&#xff1a;品牌的门店运营、客户服务以及物流和供应链管理、IT和数字营销等增值服务”。…...

若依系统集成雪花算法:实现分布式ID自动生成的最佳实践

1. 为什么分布式系统需要雪花算法&#xff1f; 在传统的单机系统中&#xff0c;我们通常使用数据库自增ID来作为主键。这种方式简单直接&#xff0c;但在分布式环境下就会暴露出严重问题。想象一下&#xff0c;如果多个服务节点同时往数据库插入数据&#xff0c;自增ID很容易出…...

若依框架前后端分离版——高效数据导入实战指南

1. 为什么需要高效数据导入功能 在企业级应用开发中&#xff0c;数据导入是个高频需求场景。想象一下学校每学期要导入上万名学生信息&#xff0c;或者电商平台要批量上架商品&#xff0c;如果一条条手动录入&#xff0c;不仅效率低下还容易出错。我在实际项目中就遇到过这样的…...

Ever Gauzy:如何用开源ERP/CRM/HRM平台解决中小企业的管理难题

Ever Gauzy&#xff1a;如何用开源ERP/CRM/HRM平台解决中小企业的管理难题 【免费下载链接】ever-gauzy Ever Gauzy™ - Open Business Management Platform (ERP/CRM/HRM/ATS/PM) - https://gauzy.co 项目地址: https://gitcode.com/gh_mirrors/ev/ever-gauzy 面对业务…...

YOLOv8模型部署避坑指南:从.pt到ONNX转换,这些细节决定了推理速度与精度

YOLOv8模型部署性能优化实战&#xff1a;从ONNX转换到推理加速的深度调优 在计算机视觉领域&#xff0c;YOLOv8凭借其出色的实时检测性能已经成为工业界的热门选择。但许多开发者发现&#xff0c;即使训练出了高精度的.pt模型&#xff0c;在实际部署为ONNX格式后&#xff0c;推…...

三合一跨平台音乐播放器:VutronMusic 完整使用指南

三合一跨平台音乐播放器&#xff1a;VutronMusic 完整使用指南 【免费下载链接】VutronMusic 高颜值的第三方网易云播放器&#xff1b;支持流媒体音乐&#xff0c;如navidrome、jellyfin、emby&#xff1b;支持本地音乐播放、离线歌单、逐字歌词、桌面歌词、Touch Bar歌词、Mac…...

Helpy Docker容器化部署最佳实践:快速稳定的生产环境搭建

Helpy Docker容器化部署最佳实践&#xff1a;快速稳定的生产环境搭建 【免费下载链接】helpy Helpy is a modern, open source helpdesk customer support application. Features include knowledgebase, community discussions and support tickets integrated with email. …...

从图腾柱到变压器隔离:5种MOS管栅极加速关断电路实测对比,哪种效率最高?

从图腾柱到变压器隔离&#xff1a;5种MOS管栅极加速关断电路实测对比&#xff0c;哪种效率最高&#xff1f; 在高速开关电源和电机驱动设计中&#xff0c;MOS管的关断损耗往往是制约整体效率的瓶颈。我曾在一个48V/20A的BLDC电机驱动项目中&#xff0c;发现传统电阻驱动方案下M…...

揭秘模型黑盒:如何用SALib快速完成全局敏感性分析?

揭秘模型黑盒&#xff1a;如何用SALib快速完成全局敏感性分析&#xff1f; 【免费下载链接】SALib Sensitivity Analysis Library in Python. Contains Sobol, Morris, FAST, and other methods. 项目地址: https://gitcode.com/gh_mirrors/sa/SALib 在复杂的系统建模和…...

终极图表绘制方案:drawio-libs免费图标库完整指南

终极图表绘制方案&#xff1a;drawio-libs免费图标库完整指南 【免费下载链接】drawio-libs Libraries for draw.io 项目地址: https://gitcode.com/gh_mirrors/dr/drawio-libs 还在为绘制专业图表而烦恼吗&#xff1f;drawio-libs正是你需要的解决方案。这个开源项目为…...

AMD GPU本地AI部署终极指南:Ollama-for-AMD让大语言模型在AMD显卡上飞起来

AMD GPU本地AI部署终极指南&#xff1a;Ollama-for-AMD让大语言模型在AMD显卡上飞起来 【免费下载链接】ollama-for-amd Get up and running with Llama 3, Mistral, Gemma, and other large language models.by adding more amd gpu support. 项目地址: https://gitcode.com…...