py脚本模拟json数据,StructuredStreaming接收数据存储HDFS一些小细节 ERROR:‘path‘ is not specified

很多初次接触到StructuredStreaming 应该会写一个这样的案例

- py脚本不断产生数据写入linux本地, 通过hdfs dfs 建目录文件来实时存储到HDFS中

1. 指定数据schema: 实时json数据

2. 数据源地址:HDFS

3. 结果落地位置: HDFS

这个小案例重点在于数据传输

- item源码:

    // 1. 创建sparksession
    val spark: SparkSession = SparkSession.builder().appName("HDFS_source")
      .master("local[4]").getOrCreate()


    // 1. 指定data源schema---json
    val schema = new StructType()
      .add("name", dataType = "string")
      .add("age", dataType = "integer")

    // 2.指定源址hdfssource
    val source = spark.readStream
      .schema(schema)
      .json("hdfs://hadoop102:8020/dataset/dataset")

    // 3.结果
    val outputPath = "hdfs://hadoop102:8020/filetmp" // 结果存储路径hdfs
    source.writeStream
      .outputMode(OutputMode.Append())
      .format("json")
      .option("checkpointLocation", "hdfs://hadoop102:8020/checkpoint") // hdfs检查点的位置
      .start(outputPath)
      .awaitTermination()

报错信息:java.lang.IllegalArgumentException: 'path' is not specified

就是没有指定流处理的sink path在start()中传入sink path 即可;

指定checkpointLocation 地址做容错(也就是检查点)

format落地格式 (parquet , json ...)具体场景具体分析

如果只是对数据进行处理然后打印到console 不用指定sink path

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

淘宝电商产品价格官方防爬取采集设计机制,如何破?|淘宝电商API数据采集看完你也会!

在当今数字化时代,电商平台如淘宝已经成为人们购物的主要渠道之一。然而,随着电子商务的蓬勃发展,涌现出大量的第三方工具和应用,试图通过采集淘宝电商产品价格等信息来进行数据分析和竞争优势的获取。为了维护市场秩序和保护商家…

java中几种对象存储(文件存储)中间件的介绍

一、前言 在博主得到系统中使用的对象存储主要有OSS(阿里云的对象存储) COS(腾讯云的对象存储)OBS(华为云的对象存储)还有就是MinIO 这些玩意。其实这种东西大差不差,几乎实现方式都是一样&…

马斯克希望OpenAI与特斯拉合并或“完全控制”?

推荐阅读: AI大战升温:Claude 3号宣称具有“近乎人类”的能力-CSDN博客 【新手向】ChatGPT入门指南 - 订阅GPT4之前必须了解的十件事情-CSDN博客 Claude3“闪击”GPT,OpenAI半天就更新了这?-CSDN博客 【亲测】注册Claude3教程…

BLDC 驱动架构介绍

BLDC无刷电机,顾名思义就是没有电刷的电机,因为没有电刷,无刷电机在运行过程中噪音小,也不存在电刷损坏的情况。 BLDC 由于其高效率、长寿命、低噪音、易于维护等特点,正在逐渐替代有刷电机,今天就给大家介…

MessAuto-让验证码提取更加丝滑

专注于web漏洞挖掘、内网渗透、免杀和代码审计,感谢各位师傅的关注!网安之路漫长,与君共勉! MessAuto MessAuto 是一款 macOS 平台自动提取短信和邮箱验证码到粘贴板的软件,由Rust开发,适用于任何APP 下面展…

【竞技宝】LOL:knight阿狸伤害爆炸 BLG2-0轻取RA

北京时间2024年3月11日,英雄联盟LPL2024春季常规赛继续进行,昨日共进行三场比赛,首场比赛由BLG对阵RA。本场比赛BLG选手个人实力碾压RA2-0轻松击败对手。以下是本场比赛的详细战报。 第一局: BLG:剑魔、千珏、妮蔻、卡牌、洛 RA:乌迪尔、蔚、阿卡丽、斯莫德、芮尔 首局比赛,B…

智能测径仪在胶管行业的应用

关键字:胶管外径尺寸测量,胶管检测仪器,胶管外径检测,高温胶管外径检测,软硬胶管检测, 智能测径仪在家胶管行业中的应用主要体现在对胶管外径的精确测量和控制上。在胶管生产过程中,外径的大小直…

高级语言讲义2023软专(仅高级语言部分)

1.辗转相除求最大公约数过程如下: U/V...余 V/...余 /...余 当为0时&#xff0c;即为U、V最大公约数&#xff0c;编写函数int g< d(intU,intV)求最大公约数。 #include <stdio.h>int gcd(int a,int b) {if(b0)return a;elsereturn gcd(b,a%b); }int gcd2(int a,i…

python推导式

python推导式是一种简洁且强大的内建语法结构&#xff0c;它允许我们以一种极其紧凑和易于理解的方式创建新的列表、字典、集合或生成器对象&#xff0c;能够更高效地操作和转换数据结构。 列表推导式基本语法如下图&#xff1a; 其他推导式的语法也基本相似&#xff0c;看着有…

最迟但到的 Star History 2023 年度开源精选!

千呼万唤始出来&#xff0c;Star History 2023 年终开源精选来啦&#xff01;&#x1f389; AI 是 2023 开源领域里最主要的关键词&#xff0c;但其实过去一年还是有很多其他值得关注的项目和发展趋势的&#xff01;Star History 小编总结了几个类别并精选了类别中最亮眼的项目…

ElasticSearchLinux安装和springboot整合的记录和遇到的问题

前面整合遇到的一些问题有的记录在下面了&#xff0c;有的当时忘了记录下来&#xff0c;希望下面的能帮到你们 1&#xff1a;Linux安装ES 下载安装&#xff1a; 参考文章&#xff1a;连接1 连接2 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch…

校园小情书微信小程序源码 | 社区小程序前后端开源 | 校园表白墙交友小程序

项目描述&#xff1a; 校园小情书微信小程序源码 | 社区小程序前后端开源 | 校园表白墙交友小程序 功能介绍&#xff1a; 表白墙 卖舍友 步数旅行 步数排行榜 情侣脸 漫画脸 个人主页 私信 站内消息 今日话题 评论点赞收藏 服务器环境要求&#xff1a;PHP7.0 MySQL5.7 效果…

【三十】springboot项目上高并发解决示例

互相交流入口地址 整体目录&#xff1a; 【一】springboot整合swagger 【二】springboot整合自定义swagger 【三】springboot整合token 【四】springboot整合mybatis-plus 【五】springboot整合mybatis-plus 【六】springboot整合redis 【七】springboot整合AOP实现日志操作 【…

c++ primer plus 笔记 第十六章 string类和标准模板库

string类 string自动调整大小的功能&#xff1a; string字符串是怎么占用内存空间的&#xff1f; 前景&#xff1a; 如果只给string字符串分配string字符串大小的空间&#xff0c;当一个string字符串附加到另一个string字符串上&#xff0c;这个string字符串是以占用…

并发容器介绍(二)

并发容器介绍&#xff08;二&#xff09; 文章目录 并发容器介绍&#xff08;二&#xff09;BlockingQueueBlockingQueue 简介ArrayBlockingQueueLinkedBlockingQueuePriorityBlockingQueue ConcurrentSkipListMap 文章来自Java Guide 用于学习如有侵权&#xff0c;立即删除 Bl…

大模型字典中加入特殊字符

大模型字典中加入特殊字符 在微调大模型的时候会遇到添加特殊字符&#xff0c;例如在微调多轮的数据的时候需要加入人和机器等特殊标识字符&#xff0c;如用这个特殊字符表示人&#xff0c;用这个特殊字符表示机器&#xff0c;从而实现了人机对话。一般在大模型中base字典中不…

二次供水无人值守解决方案

二次供水无人值守解决方案 二次供水系统存在一定的管理难题和技术瓶颈&#xff0c;如设备老化、维护不及时导致的水质安全隐患&#xff0c;以及如何实现高效运行和智能化管理等问题。在一些地区&#xff0c;特别是老旧小区或农村地区&#xff0c;二次供水设施建设和改造滞后&a…

【go语言开发】redis简单使用

本文主要介绍redis安装和使用。首先安装redis依赖库&#xff0c;这里是v8版本&#xff1b;然后连接redis&#xff0c;完成基本配置&#xff1b;最后测试封装的工具类 文章目录 安装redis依赖库连接redis和配置工具类封装代码测试 欢迎大家访问个人博客网址&#xff1a;https://…

初学Vue——Vue路由

0 什么是Vue路由 类似于Html中的超链接(<a>)一样&#xff0c;可以跳转页面的一种方式。 前端路由&#xff1a;URL中hash(#号之后的内容)与组件之间的对应关系&#xff0c;如下图&#xff1a; 当我们点击左侧导航栏时&#xff0c;浏览器的地址栏会发生变化&#xff0c;路…

hutool,真香!

大家好&#xff0c;我是苏三&#xff0c;又跟大家见面了。 前言 今天给大家介绍一个能够帮助大家提升开发效率的开源工具包&#xff1a;hutool。 Hutool是一个小而全的Java工具类库&#xff0c;通过静态方法封装&#xff0c;降低相关API的学习成本&#xff0c;提高工作效率&…