spark sqlcontext 读取json 文件

SparkSQL 使用SQLContext读取csv文件 分析数据 (含部分数据) NULL 博文链接:https://humingminghz.iteye.com/blog/2309413 立即下载

多行json  直接 使用 sqlcontext.read().json("path")  读取时候 报错如下 :

Exception in thread "main" org.apache.spark.sql.AnalysisException: Since Spark 2.3, the queries from raw JSON/CSV files are disallowed when the
referenced columns only include the internal corrupt record column
(named _corrupt_record by default). For example:
spark.read.schema(schema).json(file).filter($"_corrupt_record".isNotNull).count()
and spark.read.schema(schema).json(file).select("_corrupt_record").show().
Instead, you can cache or save the parsed results and then send the same query.
For example, val df = spark.read.schema(schema).json(file).cache() and then
df.filter($"_corrupt_record".isNotNull).count().;
	at org.apache.spark.sql.execution.datasources.json.JsonFileFormat.buildReader(JsonFileFormat.scala:118)
	at org.apache.spark.sql.execution.datasources.FileFormat$class.buildReaderWithPartitionValues(FileFormat.scala:129)
	at org.apache.spark.sql.execution.datasources.TextBasedFileFormat.buildReaderWithPartitionValues(FileFormat.scala:160)
	at org.apache.spark.sql.execution.FileSourceScanExec.inputRDD$lzycompute(DataSourceScanExec.scala:294)
	at org.apache.spark.sql.execution.FileSourceScanExec.inputRDD(DataSourceScanExec.scala:290)
	at org.apache.spark.sql.execution.FileSourceScanExec.inputRDDs(DataSourceScanExec.scala:312)
	at org.apache.spark.sql.execution.WholeStageCodegenExec.doExecute(WholeStageCodegenExec.scala:610)
	at org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$1.apply(SparkPlan.scala:131)
	at org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$1.apply(SparkPlan.scala:127)
	at org.apache.spark.sql.execution.SparkPlan$$anonfun$executeQuery$1.apply(SparkPlan.scala:155)
	at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
	at org.apache.spark.sql.execution.SparkPlan.executeQuery(SparkPlan.scala:152)
	at org.apache.spark.sql.execution.SparkPlan.execute(SparkPlan.scala:127)
	at org.apache.spark.sql.execution.SparkPlan.getByteArrayRdd(SparkPlan.scala:247)
	at org.apache.spark.sql.execution.SparkPlan.executeTake(SparkPlan.scala:337)
	at org.apache.spark.sql.execution.CollectLimitExec.executeCollect(limit.scala:38)
	at org.apache.spark.sql.Dataset.org$apache$spark$sql$Dataset$$collectFromPlan(Dataset.scala:3278)
	at org.apache.spark.sql.Dataset$$anonfun$head$1.apply(Dataset.scala:2489)
	at org.apache.spark.sql.Dataset$$anonfun$head$1.apply(Dataset.scala:2489)
	at org.apache.spark.sql.Dataset$$anonfun$52.apply(Dataset.scala:3259)
	at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:77)
	at org.apache.spark.sql.Dataset.withAction(Dataset.scala:3258)
	at org.apache.spark.sql.Dataset.head(Dataset.scala:2489)
	at org.apache.spark.sql.Dataset.take(Dataset.scala:2703)
	at org.apache.spark.sql.Dataset.showString(Dataset.scala:254)
	at org.apache.spark.sql.Dataset.show(Dataset.scala:723)
	at org.apache.spark.sql.Dataset.show(Dataset.scala:682)
	at org.apache.spark.sql.Dataset.show(Dataset.scala:691)
	at App.main(App.java:16)
19/09/01 15:03:48 INFO SparkContext: Invoking stop() from shutdown hook
19/09/01 15:03:48 INFO SparkUI: Stopped Spark web UI at http://192.168.1.2:4040
19/09/01 15:03:48 INFO MapOutputTrackerMasterEndpoint: MapOutputTrackerMasterEndpoint stopped!
19/09/01 15:03:48 INFO MemoryStore: MemoryStore cleared
19/09/01 15:03:48 INFO BlockManager: BlockManager stopped
19/09/01 15:03:48 INFO BlockManagerMaster: BlockManagerMaster stopped
19/09/01 15:03:48 INFO OutputCommitCoordinator$OutputCommitCoordinatorEndpoint: OutputCommitCoordinator stopped!
19/09/01 15:03:48 INFO SparkContext: Successfully stopped SparkContext
19/09/01 15:03:48 INFO ShutdownHookManager: Shutdown hook called
19/09/01 15:03:48 INFO ShutdownHookManager: Deleting directory /private/var/folders/s1/d29h6xhj3r7dnw9d5m2d626w0000gn/T/spark-cbdf2489-115a-4e4b-93fb-4e5e06c24586

将其数据格式修改为单行json  后 无 此问题 

样例数据 

{
  "name": "芙蓉姐姐",
  "age": 12,
  "sex": "W"
}
{
  "name": "女娲",
  "age": 3008,
  "sex" : "W"
}

 

 

测试使用 网上的解决方案 

如 下 links

 方法一设置 option 

方法 二设置 wholeTextFiles  预读取数据 

 

 //Dataset json = sqlContext.read().option("multiline", true).option("mode", "PERMISSIVE").json("./resources/app.json");
        Dataset<Row> json = sqlContext.read().json(sc.wholeTextFiles("./resources/app.json").values());

        json.printSchema();

但是效果不太好。

依然没有将多行json 解析 正常  

 

最后发现   使用设置 或者 while TextFile  对文件格式要求较高 。

需要是标准的json 格式 。从新检查数据后 可以运行

光纤布拉格光栅(FBG)笔记【1】:波导结构和布拉格波长推导 引言 本文是光纤布拉格光栅(FBG)的笔记【1】,主要介绍了光纤布拉格光栅的波导结构,并且利用动量和能量守恒推导了光纤布拉格波长的表达式 普通光纤中让折射率发生周期性变化就是结构最简单的均匀光纤布拉格光栅(FBG),其波导结构如下图所示。 其传感原理描述可以分为以下的三点: ①光纤纤芯传播的光会在每个光栅面进行反射和透射; ②如果不满足布拉格条件,依次排列的光栅平面反射的光会逐渐变得不同直到最后相互抵消;同时由于系数不匹配,与布拉格波长不相符的光在每个光栅平面的反射也很微弱,这些光大部分在光纤中发生透. 阅读详情

相关推荐

[uboot] (第一章)uboot流程——概述

[uboot] uboot流程系列: [project X] tiny210(s5pv210)上电启动流程(BL0-BL2)建议先看《[project X] tiny210(s5pv210)上电启动流程(BL0-BL2)》,根据例子了解一下上电之后的BL0\BL1\BL2阶段,以及各个阶段的运行位置,功能。==============================================

ooonebook的博客 1万+

报错:Since Spark 2.3,the queries from raw JSON/CSV files are disallowed when thereferenced columns

错误:Exception in thread "main" org.apache.spark.sql.AnalysisException: Since Spark 2.3, the queries from raw JSON/CSV files are disallowed when the referenced columns only include the internal corrupt record column (named _corrupt_record by default). For ex

csncd的博客 2926

深入解析ViT中的RoPE旋转位置编码:原理、实现与视觉应用

本文深入解析了ViT中的RoPE旋转位置编码原理、实现及其在视觉任务中的应用。RoPE通过旋转变换巧妙地将相对位置信息融入注意力计算,解决了传统绝对位置编码外推性差的问题,在图像分类、目标检测及生成任务中展现出更优的泛化能力和灵活性。

alice7model的博客 706

spark错误提示:Since Spark 2.3, the queries from raw JSON/CSV files are disallowed when thereferenced co

错误:Exception in thread "main" org.apache.spark.sql.AnalysisException: Since Spark 2.3, the queries from raw JSON/CSV files are disallowed when the。意思就是json文件时按行读取,只能允许一样一样读取,以下的格式时会出现错误。将数据格式改成紧凑即可。...

小M呀~之大数据系列 1082

手把手教你用VS Code + Codex在WSL中高效编程(避坑指南)

本文提供了一份详细的避坑指南,教你如何在WSL环境中高效配置和使用VS Code与OpenAI Codex。文章核心在于解决WSL内Codex扩展的OAuth登录失败问题,推荐将扩展安装在Windows本地,并通过UNC路径直接访问WSL文件系统,从而实现AI辅助编程与Linux开发环境的无缝结合,提升编码效率。

weixin_28677451的博客 1067

从零到一:AnythingLLM与Ollama的本地知识库搭建实战

本文详细介绍了如何使用AnythingLLM与Ollama从零开始搭建本地知识库,涵盖技术选型、环境部署、系统配置及优化策略。通过RAG技术架构,实现安全高效的文档管理与智能问答,特别适合企业及个人构建私有化知识管理系统。

weixin_29079643的博客 566

Spark源码解析之读取文件

Spark读文件分为两种,一种是是通过SparkContext读取,一种是通过FileSourceScanExec读取(SparkSql属于这种)

话数Science 966

AUTOSAR进阶图解==>AUTOSAR_SWS_DefaultErrorTracer

AUTOSAR Default Error Tracer (DET)是AUTOSAR架构中的核心错误追踪模块,提供统一的错误报告机制。DET能够处理开发错误、运行时错误和瞬态故障三类问题,支持模块级和实例级的配置管理。模块架构上,DET通过Det_API接口与其他模块交互,可配置转发错误至诊断事件管理器(DEM)或调试日志追踪(DLT)。其配置结构包含全局参数和模块实例参数,允许灵活控制错误报告行为。DET在AUTOSAR 4.3.0版本中从DevelopmentErrorTracer扩展而来,增强了错误处

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 910

spark中读取json_【Spark】使用DataFrame读取复杂JSON中的嵌套数组

众所周知,在早期Spark版本中就已经支持读取Json格式的数据文件,并能够直接转换为数据库表,以方便我们进行处理数据,在本篇文章中我们将介绍如何通过Spark API很简单地读取Json数据,并进一步讲解,读取复杂Json中的嵌套数组。本次使用的各个组件版本设定如下:Spark: 2.1.0Scala 2.11.8Hadoop 2.6.2加载Json数据我们可以简单地通过SQLContext读取...

weixin_32821579的博客 1556

YOLO26改进 - C3k2 | C3k2 融合 ARConv 自适应矩形卷积:动态调整卷积核形状与采样点 | CVPR 2025

本文介绍了将自适应矩形卷积(ARConv)模块与YOLO26相结合的方法。ARConv是针对遥感图像全色锐化任务设计的创新卷积模块,可自适应调整卷积核形状与采样点数量,解决传统卷积刚性限制,实现高效特征提取。其工作流程包括学习卷积核高度和宽度、选择采样点数量、生成采样图、卷积实现与空间自适应增强。我们将集成ARConv的C3k2_ARConv模块引入YOLO26,对相关代码进行修改和注册,并配置了YOLO26 - C3k2_ARConv.yaml文件。实验脚本显示,该结合方式应用于目标检测任务。

魔改工程师的博客 499

复现报告:《多回路人机控制系统仿真及II型PIO分析》方法复现与代码实现

本文复现了谭文倩硕士论文《多回路人机控制系统仿真及II型PIO分析》中的关键方法,重点实现了频域驾驶员模型辨识和参数灵敏度分析。通过数字化提取论文图表数据,构建了结构驾驶员模型传递函数,并验证了参数变化对系统特性的影响。采用MATLAB实现了描述函数计算、模型参数辨识和灵敏度分析算法,为后续神经网络模型辨识和II型PIO研究奠定了基础。由于缺乏原始实验数据,部分结果通过数值模拟获得,但仍有效重现了论文的核心分析方法。~~~~~

huanghm88的专栏 175

spark读取json文件报错Since Spark 2.3, the queries from raw JSON/CSV files are disallowed when thereferenc

Exception in thread "main" org.apache.spark.sql.AnalysisException: Since Spark 2.3, the queries from raw JSON/CSV files are disallowed when the referenced columns only include the internal corrupt record column (named _corrupt_record by default). For examp

RUIMENG061511332的博客 1463

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

spark中sqlcontext的用法

vi people.json {"name":"zhangsan","job number":"101","age":33,"gender":"male","deptno":1,"sal":18000} {"name":"lisi","job number":"102","age":30,"gender":"male","deptno":2,"sal":20000} {"name":"wangwu...

yangbosos的博客 1115

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【四】Spark SQL中SQLContext的使用(从json文件中加载数据)

SQLContext是Spark1.X中Spark SQL的入口点。 项目目录 pom.xml &lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apa...

Sid小杰的博客 4128

java spark map函数,Spark java Map函数正在执行两次

I have above code as spark driver, when I execute my program it works properly saving required data as parquet file.String indexFile = "index.txt";JavaRDD indexData = sc.textFile(indexFile).cache();Ja...

weixin_29352517的博客 224

Spark从HDFS上读取JSON数据

代码如下: import org.apache.spark.sql.Row; import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.ap...

weixin_34168880的博客 810

SQLContext/HiveContext/SparkSession的使用(一)

SQLContext/HiveContext是Spark 1.x中的两个Spark SQL入口,在Spark 2.X中Spark SQL入口为SparkSession。 1.SQLContext的使用 官网http://spark.apache.org/docs/1.6.0/sql-programming-guide.html val sc: SparkContext // An exi

zghgchao 1366

json解析 spark_使用Spark提取嵌套Json数据

JSON是一种常用的数据存储方式。但是JSON解析起来还是比较麻烦的,这里是通过Spark DataFrames处理嵌套Json的一些例子(Spark 版本为 1.6.0)样本文件 sample.json{"user": "gT35Hhhre9m","dates": ["2016-01-29", "2016-01-28"],"status": "OK","reason": "some reason...

weixin_30025473的博客 955

Spark SQL读取json文件

DataFrame是什么?是带有模式(Schema)的RDD, 类似于二维表,  有了Schema可以洞察更多的额信息.准备json数据, json数据需要是一行代表一个Row{"id":1, "name":"leo", "age":18} {"id":2, "name":"jack", "age":19} {"id":3, &q

a1158375969的专栏 1648

Scala 使用 Junit 4 单元测试

导入依赖 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> &l...

weixin_37417954的博客 1225

spark 逐层拆解json嵌套的array

1、创建SQLContext 读取json 2、获取schema并循环第一次,遇到array就拆解,然后向下层下探。最后拆完,把第一层重复的字段名删掉。 SQLContext sqlContext = new SQLContext(sc); DataFrame df=sqlContext.read().json(FileFullName); ...

GJLNANATA的博客 2709

Spark SQL 笔记(5)—— Hive 到 Spark SQL(1)

1 SQLContext 1.1 Spark1.x 中Spark SQL 的入口点:SQLContext 参考链接 https://spark.apache.org/docs/1.6.1/sql-programming-guide.html#starting-point-sqlcontext 1.2 测试案例 1.2.1 新建maven 工程 &amp;lt;project xmlns=&quot;http:/...

一角残叶的博客 382

大数据随记 —— DataFrame 的创建与 Maven 配置

Spark 应用程序使用 SQLContext,可以通过 RDD、Hive 表、JSON 格式数据创建 DataFrame。方法即可通过读取 JSON 文件创建 DataFrame。

繁依Fanyi的博客 1689

Spark SQL saveMode 方式

package com.bjsxt.java.spark.sql.loadsave; import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.sql.DataFrame; import o...

197

第一个Spark程序之Spark本地程序

程序和源数据均为本地 源数据和程序代码 {"name":"Michael"} {"name":"Andy", "age":30} {"name":"Justin", "age":19} import org.apache.spark.sql.SQLContext import org.apache.spark.{SparkConf, SparkContext} object SQLContex...

微瞰技术的博客 468

我的SPARK调试java代码

仅供自己参考,其他人可能看不懂。 import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.mllib.rdd.RandomRDD; import or

阿龙的专栏 1221
上一篇: Flume 自定义source -- SQLSource (转为 json 格式)
下一篇: spark sql 使用过程中 无法识别输入字段
H.King
博客等级 码龄10年 4粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值