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

网站打开速度概念注册营业执照网上申请入口

网站打开速度概念,注册营业执照网上申请入口,织梦 网站名称,wordpress制作自定义页面的方法Spark SQL中的from_json函数详解 在Spark SQL中#xff0c;from_json是一个用于解析JSON数据的函数#xff0c;主要用于将JSON格式的字符串解析为结构化的数据#xff08;即StructType或其他Spark SQL数据类型#xff09;。这个函数在处理半结构化数据#xff08;如JSON日…Spark SQL中的from_json函数详解 在Spark SQL中from_json是一个用于解析JSON数据的函数主要用于将JSON格式的字符串解析为结构化的数据即StructType或其他Spark SQL数据类型。这个函数在处理半结构化数据如JSON日志、嵌套结构数据时非常有用。 1. 基本用法 from_json的主要作用是将JSON字符串解析为指定的Spark SQL数据类型如StructType、ArrayType等。通常与schema模式定义结合使用明确解析后数据的结构。 语法 from_json(json_string, schema [, options])json_string要解析的JSON字符串。schema定义JSON数据结构的模式可以是StructType、ArrayType等。options可选用于指定解析选项如是否允许解析失败、空值处理等。 2. 数据结构内容Schema 定义 from_json函数需要明确的模式定义schema以便将JSON字符串解析为结构化数据。模式可以是以下几种Spark SQL数据类型 2.1 基本数据类型 StringType字符串IntegerType整数LongType长整型DoubleType双精度浮点型BooleanType布尔值TimestampType时间戳DateType日期 2.2 复杂数据类型 StructType结构体类似于JSON对象。ArrayType数组类似于JSON数组。MapType键值对类似于JSON中的键值结构。 3. 使用示例 3.1 示例解析简单JSON JSON数据 {name: Alice, age: 25}SQL实现 CREATE OR REPLACE TEMP VIEW json_table AS SELECT {name: Alice, age: 25} AS json_string;SELECT from_json(json_string, STRUCTname: STRING, age: INT) AS parsed FROM json_table;输出结果 ---------------- |parsed | ---------------- |{Alice, 25} | ----------------3.2 示例解析嵌套JSON JSON数据 {name: Alice,info: {age: 25,city: New York} }SQL实现 CREATE OR REPLACE TEMP VIEW json_table AS SELECT {name: Alice, info: {age: 25, city: New York}} AS json_string;SELECT from_json(json_string, STRUCTname: STRING, info: STRUCTage: INT, city: STRING) AS parsed FROM json_table;输出结果 ------------------------- |parsed | ------------------------- |{Alice, {25, New York}} | -------------------------3.3 示例解析JSON数组 JSON数据 [{name: Alice, age: 25},{name: Bob, age: 30} ]SQL实现 CREATE OR REPLACE TEMP VIEW json_table AS SELECT [{name: Alice, age: 25}, {name: Bob, age: 30}] AS json_string;SELECT from_json(json_string, ARRAYSTRUCTname: STRING, age: INT) AS parsed FROM json_table;输出结果 -------------------------- |parsed | -------------------------- |[{Alice, 25}, {Bob, 30}] | --------------------------3.4 示例解析并提取嵌套字段 JSON数据 {name: Alice,info: {age: 25,city: New York} }SQL实现 CREATE OR REPLACE TEMP VIEW json_table AS SELECT {name: Alice, info: {age: 25, city: New York}} AS json_string;SELECT parsed.name AS name,parsed.info.age AS age,parsed.info.city AS city FROM (SELECT from_json(json_string, STRUCTname: STRING, info: STRUCTage: INT, city: STRING) AS parsedFROM json_table );输出结果 -------------------- |name |age|city | -------------------- |Alice |25 |New York | --------------------4. 常见选项Options 以下是from_json中支持的常见options参数以及它们的详细说明和使用案例。 4.1 常见 Options 参数 mode控制解析模式PERMISSIVE、DROPMALFORMED或FAILFAST默认值PERMISSIVE。columnNameOfCorruptRecord如果解析失败存储错误记录的列名默认值空值无默认值。timestampFormat指定时间戳格式默认值yyyy-MM-dd’T’HH:mm:ss.SSSXXX。dateFormat指定日期格式默认值yyyy-MM-dd。multiLine是否允许JSON跨行即多行JSON默认值false。allowUnquotedFieldNames是否允许字段名不使用引号默认值false。allowSingleQuotes是否允许字段名和字符串值使用单引号默认值true。allowNumericLeadingZeros是否允许数字前置零默认值false。allowBackslashEscapingAnyCharacter是否允许反斜杠转义任意字符默认值false。allowComments是否允许JSON中存在注释如//或/* */默认值false。 4.2 Options 参数详细解析与案例 4.2.1 mode mode用于控制解析模式支持以下三种模式 PERMISSIVE默认尝试解析尽可能多的数据。如果某些JSON数据解析失败Spark会将失败的记录存储在_corrupt_record列中。DROPMALFORMED丢弃所有解析失败的记录。FAILFAST如果发现解析错误则直接抛出异常停止执行。 案例mode参数 JSON数据 {name: Alice, age: 25} {name: Bob, age: invalid} {name: Charlie}SQL查询 SELECT from_json(json_string, STRUCTname: STRING, age: INT, map(mode, PERMISSIVE)) AS parsed FROM json_table;输出PERMISSIVE模式失败的记录存储在_corrupt_record ---------------- |parsed | ---------------- |{Alice, 25} | |null | |null | ----------------如果使用DROPMALFORMED SELECT from_json(json_string, STRUCTname: STRING, age: INT, map(mode, DROPMALFORMED)) AS parsed FROM json_table;输出解析失败的记录被丢弃 ---------------- |parsed | ---------------- |{Alice, 25} | ----------------如果使用FAILFAST SELECT from_json(json_string, STRUCTname: STRING, age: INT, map(mode, FAILFAST)) AS parsed FROM json_table;输出Spark会抛出解析失败的异常。 4.2.2 columnNameOfCorruptRecord 指定存储解析失败记录的列名。如果设置了该选项解析失败的JSON会存储在指定的列中而不是默认的_corrupt_record列。 案例columnNameOfCorruptRecord JSON数据 {name: Alice, age: 25} {name: Bob, age: invalid}SQL查询 SELECT from_json(json_string, STRUCTname: STRING, age: INT, map(columnNameOfCorruptRecord, error_record)) AS parsed FROM json_table;输出 ----------------------------------- |parsed |error_record | ----------------------------------- |{Alice, 25} |null | |null |{name: Bob,...}| -----------------------------------4.2.3 timestampFormat 和 dateFormat 用于指定时间戳和日期字段的解析格式。 案例timestampFormat 和 dateFormat JSON数据 {name: Alice, timestamp: 2023-01-01T12:00:00, birth_date: 1990-01-01}SQL查询 SELECT from_json(json_string, STRUCTname: STRING, timestamp: TIMESTAMP, birth_date: DATE, map(timestampFormat, yyyy-MM-dd\T\HH:mm:ss, dateFormat, yyyy-MM-dd)) AS parsed FROM json_table;输出 ------------------------------- |parsed | ------------------------------- |{Alice, 2023-01-01 12:00:00, 1990-01-01}| -------------------------------4.2.4 multiLine 指定是否允许JSON数据跨多行。默认值为false。 案例multiLine JSON数据 {name: Alice,age: 25 }SQL查询multiLinefalse无法解析多行JSON SELECT from_json(json_string, STRUCTname: STRING, age: INT, map(multiLine, false)) AS parsed FROM json_table;输出 ---------------- |parsed | ---------------- |null | ----------------SQL查询multiLinetrue支持多行JSON SELECT from_json(json_string, STRUCTname: STRING, age: INT, map(multiLine, true)) AS parsed FROM json_table;输出 ---------------- |parsed | ---------------- |{Alice, 25} | ----------------4.2.5 allowUnquotedFieldNames 允许JSON中的字段名不加引号。 案例allowUnquotedFieldNames JSON数据 {name: Alice, age: 25}SQL查询 SELECT from_json(json_string, STRUCTname: STRING, age: INT, map(allowUnquotedFieldNames, true)) AS parsed FROM json_table;输出 ---------------- |parsed | ---------------- |{Alice, 25} | ----------------4.2.6 allowSingleQuotes 允许JSON中的字段名和字符串值使用单引号。 案例allowSingleQuotes JSON数据 {name: Alice, age: 25}SQL查询 SELECT from_json(json_string, STRUCTname: STRING, age: INT, map(allowSingleQuotes, true)) AS parsed FROM json_table;输出 ---------------- |parsed | ---------------- |{Alice, 25} | ----------------4.2.7 allowComments 允许JSON数据中包含注释如//或/* */。 案例allowComments JSON数据 {name: Alice, // This is a commentage: 25 }SQL查询 SELECT from_json(json_string, STRUCTname: STRING, age: INT, map(allowComments, true)) AS parsed FROM json_table;输出 ---------------- |parsed | ---------------- |{Alice, 25} | ----------------4.3 Options参数总结 from_json的options参数提供了灵活的JSON解析配置适用于各种复杂或非标准的JSON数据场景。以下是常用场景的总结 容错性控制使用mode和columnNameOfCorruptRecord。时间和日期解析使用timestampFormat和dateFormat。非标准JSON支持使用multiLine、allowUnquotedFieldNames、allowSingleQuotes、allowComments等。 5. from_json总结 from_json是Spark SQL中处理JSON数据的核心工具它的核心是通过指定的schema将JSON字符串解析为结构化数据。通过灵活定义StructType、ArrayType等模式可以处理简单到复杂的JSON数据结构。如果你有具体的JSON数据或使用场景可以提供详细信息我可以进一步帮助你解析和定义适合的schema from_json处理完后我们对拿到的结果可能还要关联的内容spark sql 对struct、array、map类型的函数操作这样能更加方便对字符串的解析。
http://www.w-s-a.com/news/290208/

相关文章:

  • 手机怎样使用域名访问网站个人做旅游网站的意义
  • 西部数码域名网站模板网站建设怎么管理业务员
  • o2o手机维修网站那个公司做的电子网站风格设计
  • 网站建设预算计算方法什么是网络营销战略?网络营销战略有哪些基本类型
  • 无锡做网站公司多少钱网站备案方法
  • 建设网站最强做网站哪一家公司好
  • 漫画风格网站人物介绍网页模板html
  • 贵阳市住房和城乡建设局政务网站大连 网站开发
  • 漳州市住房建设局网站网站一般多长
  • 国外做网站推广小程序制作二维码签到
  • 做网站需要域名网站建设诚信服务
  • 做物品租赁网站网站建设的完整流程
  • 响应式企业网站开发所用的平台西安知名网站推广
  • 高端响应式网站建设wordpress 全屏主题
  • 国内工程机械行业网站建设现状ui是什么意思
  • 成都网站开发哪家公司好出售家教网站模板
  • 订阅号做流量 那些电影如何链接网站温州市建设监理协会网站
  • 成都网站建设成功案例单招网商丘网站建设大全
  • 受欢迎的购物网站建设网推专员是做什么的
  • 商城网站前期准备湖南郴州建设局网站
  • 企业如何在自己的网站上做宣传外贸自建站可以自己做网站吗
  • 甘肃网站建设制作商网站空间哪家公司的好
  • 思途旅游网站建设系统用vscode做网站
  • 广州站改造最新消息半年工作总结ppt模板
  • logo模板下载网站推荐哪家网站开发培训好
  • 做外贸网站效果图页面关键词优化
  • 广平网站建设成都活动轨迹
  • 小型网站网站建设需要网络公司是什么行业
  • 滑动 手机网站 代码网页制作与设计讨论
  • 自己做网站处理图片用什么软件wordpress html5支持