开发者社区> 问答> 正文

用pyspark解析json数据

我正在使用pyspark阅读下面的json文件:

{
  "data": {
    "indicatr": {
      "indicatr": {
        "id": "5c9e41e4884db700desdaad8"}}}}

我写了以下python代码:

from pyspark.sql import Window, DataFrame
from pyspark.sql.types import *
from pyspark.sql.types import StructType
from pyspark.sql import functions as F
schema  = StructType([
  StructField("data", StructType([
    StructField("indicatr", StructType([
       StructField("indicatr", StructType([
         StructField("id", StringType())

         ]))]))]))])

df = spark.read.json("pathtofile/test.json", multiLine=True)
df.show()

df2 = df.withColumn("json", F.col("data").cast("string"))

df3=df2.select(F.col("json"))
df3.collect()


df4 =df3.select(F.from_json(F.col("json"), schema).alias("name"))
df4.show()

我得到以下结果:

|name|
+----+
|null|

谁知道如何解决这个问题

展开
收起
1128944438887630 2019-11-29 22:04:30 2062 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
神龙云服务器产品及技术深度解析 立即下载
弹性创造价值:基于ECS的最佳性价比实践解析 立即下载
又快又稳:阿里云下一代虚拟交换机解析 立即下载

相关镜像