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

news/2024/5/20 0:49:28 标签: hdfs, hadoop, 大数据, scala

很多初次接触到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


http://www.niftyadmin.cn/n/5421854.html

相关文章

tsv文件在大数据技术栈里的应用场景

是的,\t 是指制表符(tab),它通常用作字段分隔符在 TSV(Tab-Separated Values)格式的文件中。TSV是一种简单的文本格式,它使用制表符来分隔每一列中的值,而每一行则代表一个数据记录。…

深入理解Python随机数生成模块:random

一、概述 random模块 用于生成伪随机数 之所以称之为伪随机数,是因为真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的,是不可见的。而计算机中的随…

#车载诊断协议DoIP系列 —— 套接字处理 在线检查

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖一碗茶,喝完再挣扎,出门靠自己,四海皆为家。人生的面吃一…

【大厂AI课学习笔记NO.71】AI算力芯片GPU/TPU等

AI算力芯片的发展历程 人工智能(AI)算力芯片的发展历程紧密地跟随着AI技术的发展脚步。从早期的基于传统中央处理器(CPU)的计算,到图形处理器(GPU)的广泛应用,再到专门为AI设计的处…

Python使用错误总结

【1】cannot import name ‘ParameterSource’ from ‘click.core’ 其根本原因在于是black模块,其模块版本可能过时,升级black模块版本即可: pip install black --upgrade【2】partially initialized module ‘charset_normalizer’ has n…

告别“死记硬背”,坐席助手让客服新手秒变大咖

在客服行业,新手客服人员常常面临着两大难题:一是需要死记硬背大量的标准答案,二是培训时间长,上岗速度慢。然而,随着科技的发展,这些问题正逐渐得到。今天,我们要为大家介绍一款革命性的客服工…

python 使用fastapi和uvicorn搭建一个服务

unvicorn旧版本的时候,例如0.10.0,利用fastapi和uvicorn搭建服务如图所示: from fastapi import FastAPI import uvicornapp FastAPI()app.post(/detector) ......if __name__"__main__":uvicorn.run(appapp,host10.15.72.22,por…

20240311-2-动态规划(DP)

动态规划(DP) 动态规划是面试中最常被问道的题目,但是一般情况下的都是常见的一些题目. 百度百科wikipedia 1. 最长上升子序列 题目: 最长上升子序列问题是在一个无序的给定序列中找到一个尽可能长的由低到高排列的子序列,这种子序列不一定是连续的或者唯一的. 解…