Spark流式读取文件数据

news2024/9/24 18:32:39

流式读取文件数据

在这里插入图片描述
在这里插入图片描述

from pyspark.sql import SparkSession

ss = SparkSession.builder.getOrCreate()

# todo 注意1:流式读取目录下的文件 --》一定一定要是目录,不是具体的文件,
#       目录下产生新文件会进行读取
# todo 注意点2:csv和JSON必须指定schema   以前的JSON文件是不要指定

df_csv = ss.readStream.csv(‘hdfs://node1:8020/目录’)
df_json = ss.readStream.json(‘hdfs://node1:8020/目录’)

# todo 每个options都不一样

options2 ={
‘host’:‘192.168.88.100’,
‘port’:9999
}

options={
# 每个批次读取1个文件
‘maxFilesPerTrigger’:1,
‘latestFirst’:‘true’
}

df_json.writeStream.start(format=‘console’,outputMode=‘complete’).awaitTermination()

流式读取文件的注意点

删除已经处理的文件(文件一)
你修改了文件一的内容,不修改文件名,你再次上传会发现它不去读取
但是你不修改文件内容,修改文件名,你再上传会发现它还会去读取

场景:某天你上传一个文件,发现它不做任何读取和处理,你需要考虑,这个文件名以前是否处理过了。

文件的读取方式在实际开发中用的比较少,每生产一条数据,就要生成一个文件(单单正对流处理
但是,如果将多条数据收集之后同一写入文件,那就变成了和批处理方式一样的开发

文件读取数据的参数指定

在这里插入图片描述

当spark读不过来的时候,可以调整latestFirst,设置为True就会处理最新的文件

true时,就会将所有相同文件名认定为同一个文件,不管全部路径是否相同,这就涉及到相同的路径不会连续处理 上面刚说的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1397169.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

知识图谱的演进

目录 前言1 Memex:信息存储的雏形2 超文本和Web:链接的崛起3 Semantic Web:从文本链接到数据链接4 Linked Big Data:规范化的语义表示5 谷歌的知识图谱搜索引擎6 多种语义网/知识图谱项目结语 前言 随着人工智能和互联网的飞速发…

02.Spotless代码格式化工具

Spotless代码格式化工具 1.为什么需要 在一些大型项目或开源项目,由于开发人员太多,导致各个代码格式不统一。会让整体项目的代码可读性变差,那么如何可以统一代码格式呢? 使用Spotless就可以完成 2.是什么 Spotless 是支持多…

4456系列数字荧光示波器

4456系列数字荧光示波器 简述: 4456系列数字荧光示波器具有6个产品型号,带宽350MHz~1GHz,最高采样率5GSa/s,最大存储深度500Mpts/CH,最快波形捕获率100万个波形/秒,独创的Any Acquire Phosphor技术&#xf…

Docker安装MinIO以及Spring Boot 整合 MinIO 实现分布式文件服务

什么是MinIO? MinIO 是一个开源的对象存储服务器,旨在通过简化分布式存储架构的方式,提供高性能、高可用性的存储解决方案。它兼容 Amazon S3 API,因此可以无缝地替代或与 Amazon S3 兼容的应用程序集成。 下面是一些关于 MinIO…

LeetCode-67/104/1232/136

1.二进制求和(67) 题目描述: 给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。 思路: 第一种方法就是直接将字符串转为二进制数,然后相加返回结果,但是提交未通过&#xff…

(二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真

一、创建工作空间 mkdir catkin_ws cd catkin_ws mkdir src cd src 二、下载wpr_simulation源码 git clone https://github.com/6-robot/wpr_simulation.git 三、编译 ~/catkin_make 目录下catkin_makesource devel/setup.bash 四、运行 roslaunch wpr_simulation wpb_s…

SPI 动态服务发现机制

SPI(Service Provier Interface)是一种服务发现机制,通过ClassPath下的META—INF/services文件查找文件,自动加载文件中定义的类,再调用forName加载; spi可以很灵活的让接口和实现分离, 让API提…

Node+Express编写接口---前端

前端页面 vue_node_admin: 第一个以node后端,vue为前端的后台管理项目https://gitee.com/ah-ah-bao/vue_node_admin.git

SpringBoot 项目中后端实现跨域的5种方式!!!

文章目录 SpringBoot 项目中后端实现跨域的5种方式!!!一、为什么会出现跨域问题二、什么是跨域三、非同源限制四、Java后端 实现 CORS 跨域请求的方式1、返回新的 CorsFilter(全局跨域)2、重写 WebMvcConfigurer(全局跨域)3、使用注解 (局部跨…

485.最大连续1的个数

前言 这两天突然发现力扣上还是有我能写出来的题的,虽说都是简单级别的(以及一道中等的题),但是能写出来力扣真的太开心了,(大佬把我这段话当个玩笑就行了),于是乎,我觉…

【Docker】实战多阶段构建 Laravel 镜像

作者主页: 正函数的个人主页 文章收录专栏: Docker 欢迎大家点赞 👍 收藏 ⭐ 加关注哦! 本节适用于 PHP 开发者阅读。Laravel 基于 8.x 版本,各个版本的文件结构可能会有差异,请根据实际自行修改。 准备 新…

【C++】string的基本使用

从这篇博客开始,我们的C部分就进入到了STL,STL的出现可以说是C发展历史上非常关键的一步,自此C和C语言有了较为明显的差别。那么什么是STL呢? 后来不断的演化,发展成了知名的两个版本,一个叫做P.J.版本&am…

【GitHub项目推荐--推荐 5 个炫炫炫的可视化项目】【转载】

数据可视化就是将抽象的数据通过视觉的方式进行展示,能让用户直观的看到数据中蕴含的信息和规律。 本篇文章,整理了 5 个可视化开源项目,其中包括可视化制作低代码平台、大屏可视化、地图可视化、热图、图标可视化等等。 00. 数据大屏可视化…

gh0st远程控制——客户端界面编写(二)

● 补充小知识:枚举类型的使用 每个控件(比如列表)都对应一个自己的唯一的变量 使用枚举类型可以将变量名与编号进行绑定,以后程序需要扩展的时候,只需要在定义枚举变量的位置重新修改编号就可以了,这样全…

Windows自带分屏使用-窗口贴靠

0.介绍 Windows电脑自带的分屏功能叫做“窗口贴靠”,可以让您同时查看和操作多个应用程序窗口,提高我们的工作效率在屏幕展示上,没有额外显示器的情况下,可以设置分屏来进行展示分屏的数量,目前为止,windows系统上分屏的数量最多为4个,win7,win10,win11…

DolphinDB 与盈米基金达成战略合作,打造领先的资管机构投顾解决方案

1月16日上午,DolphinDB 与盈米基金在上海签署战略合作协议,共同开启专业资管投顾投研合作新篇章。 DolphinDB 联合创始人、COO 初阳春与盈米基金副总裁、研究院院长杨媛春出席仪式,并代表双方完成签约。 打造市场领先的资管机构投顾服务 盈…

OPC UA 开源库编译方法及通过OPC UA连接西门S7-1200 PLC通信并进行数据交换

前言 在现代工业自动化领域,OPC UA(开放性生产控制和统一架构)是一种广泛应用的通信协议。本文将以通俗易懂的方式解释OPC UA的含义和作用,帮助读者更好地理解这一概念。 一、OPC UA的定义 OPC UA全称为“开放性生产控制和统一…

【学习计划】裁员风波下的一点感悟

今天计划一点点~~ 裁员风波 年关将近,同公司不同中心的小伙伴被约谈了。其实是在 23 年的 11 月份就已经在谈了,但是因为当时她还没找到下家,并且觉得赔偿也没谈好,就一直往后延期了,最后决定今年的 4 月份合同到期再…

【分享】MathWorks中国汽车年会:“软件定义汽车”

从软件赋能到软件定义,汽车行业不仅需要解决诸如错误发现滞后带来的高昂代价、功能融合所需的跨学科知识、功能安全与实施成本之间的权衡等老问题,也面临着新的挑战:软件复杂度的不断提升、利用数据驱动创造价值、人工智能的引入和实现、数字…

力扣211. 添加与搜索单词 - 数据结构设计

字典树 思路: 设计一棵字典树,每个节点存放单词的一个字符,节点放一个标记位,如果是单词结束则标记;字典树插入: 字典树默认有 26 个 slot 槽代表 a - z;遍历单词,如果字符对应槽存…