云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

数据库服务器_百度云共享_多少钱

小七 141 0

五个Spark SQL实用程序函数用于提取和探索复杂的数据类型

在数据库上试试这个笔记本对于开发人员来说,通常"如何"和"为什么"一样重要。虽然我们的深入博客解释了为什么处理复杂数据类型和格式很重要的概念和动机,并同样解释了它们在处理复杂数据结构中的效用,但这篇博客文章是how as a notebook教程的序言。在本教程中,我将展示和分享您可以探索和使用五个sparksql实用程序函数和api的方法。在Apache Spark 2.x中作为org.apache.spark网站.sql.函数,它们使开发人员能够轻松地处理复杂的数据或嵌套的数据类型。尤其是,在进行流式ETL时,它们非常有用,在流式ETL中,数据是具有复杂嵌套结构的JSON对象:映射和作为JSON嵌入的结构。本笔记本教程重点介绍以下Spark SQL函数:获取\u json\u object()从\u json()到\u json()爆炸()选择表达式()为了让您一瞥,请考虑这个嵌套模式,该模式定义了从Apache-Kafka流下来或存放在您选择的数据源中的IoT事件的样子。其他从pyspark.sql.functions进口*从pyspark.sql.types进口*架构=结构类型()\.add("dc_id",StringType())\#数据中心,数据发布到Kafka群集.add("source",MapType(StringType(),StructType()\#有关报警源的信息.add("description",StringType())\\将其定义为映射(Key->value).add("ip",StringType())\.add("id",LongType())\.add("temp",LongType())\.add("c02_level",LongType())\.add("geo",结构类型()\.add("lat",DoubleType())\.add("long",DoubleType()))其对应的示例数据帧/数据集数据可能如下所示:其他#用于将JSON字符串转换为数据帧的便利函数。def jsonToDataFrame(json,schema=None):#Spark 2.0提供SparkSessions+读卡器=火花。阅读如果架构:读卡器.schema(架构)返回阅读器.json(sc.并行化([json]))dataDF=jsonToDataFrame(""{"dc_id":"dc-101","来源":{"传感器igauge":{"身份证":10,"ip":"68.28.91.22","description":"连接到容器天花板上的传感器","温度":35,"二氧化碳水平":1475,"地理":{"纬度":38.00,"长":97.00}},"传感器ipad":{"身份证":13,"ip":"67.185.72.1","description":"连接碳气瓶的传感器ipad","温度":34,"二氧化碳水平":1370,"geo":{"lat":47.41,"long":-122.00}},"sensor inest":{"身份证":8,"ip":"208.109.163.218","description":"附着在工厂天花板上的传感器","温度":40,"二氧化碳水平":1346,"geo":{"lat":33.61,"long":-111.89}},"传感器istick":{"身份证":5,"ip":"204.116.105.67","description":"嵌入天花板排气管的传感器","温度":40,"二氧化碳水平":1574,"geo":{"lat":35.93,"long":-85.46}}}}""架构)如果您检查Scala或Python notebook中各自的模式,您可以看到嵌套结构:其他dataDF.printSchema()根|--dc_id:string(可空=true)|--来源:映射(可为null=true)||——键:字符串||——值:struct(valuecontainsAll=true)|| |——描述:字符串(可为null=true)|| |——ip:string(可为null=true)|| |——id:long(可空=true)|| |——温度:长(可为空=真)|| |——c02_级别:长(可为空=真)|| |——geo:struct(可空=true)|| | |——纬度:双精度(可为空=真)|| | |——long:double(可空=真)我使用IoT和Nest设备的这些JSON事件数据示例来说明如何使用这些函数。本教程的收获是,有很多方法可以使用sparksql实用程序函数对嵌套的JSON结构进行切分,即前面提到的列表。嵌套图像源因为我将在这里重复我已经在笔记本中演示过的内容,所以我建议您研究一下随附的笔记本,将其导入到您的Databricks工作区,并尝试一下。下一步是什么?在高阶函数的后续教程中,我将探讨如何使用这些强大的SQL函数来操作结构化数据。如果你没有一个Databricks帐户,今天就去买一个Databricks。免费试用Databricks。今天就开始吧