Forum Discussion
Notebook to read complex JSON array
Hello all. I am trying to learn PySpark from this website:
{ "RecordNumber": 10, "Zipcode": 709 }
]
{ "RecordNumber": 2, "Zipcode": 704 },
{ "RecordNumber": 10, "Zipcode": 709 }
What am I missing to get the second data frame to show two records, similar to the first?
This can't be that hard. What am I missing?
Thanks in advance.
Hi ToddChitt,
Wouldn't it be possible to use a couple of SQL functions like explode and col for this?
I found that suggested approach in this blog: https://medium.com/towards-data-engineering/transforming-json-to-lakehouse-tables-with-microsoft-fabric-notebooks-a-step-by-step-guide-d14458b1c284
Below is an example based on your json code in one of my test notebooks.
# Apply transformation to the dataframe from pyspark.sql.functions import col, explode exploded_df = df.select(explode(col("data")).alias("data")) tf_df = exploded_df.select( col("data.RecordNumber").alias("RecordNumber"), col("data.Zipcode").alias("Zipcode") ) display(tf_df) dfJSON1 = tf_df.select( col("RecordNumber"), col("Zipcode")) dfJSON1.show()
3 Replies
- ExpiscornovusMost Valuable Professional
Hi ToddChitt,
Wouldn't it be possible to use a couple of SQL functions like explode and col for this?
I found that suggested approach in this blog: https://medium.com/towards-data-engineering/transforming-json-to-lakehouse-tables-with-microsoft-fabric-notebooks-a-step-by-step-guide-d14458b1c284
Below is an example based on your json code in one of my test notebooks.
# Apply transformation to the dataframe from pyspark.sql.functions import col, explode exploded_df = df.select(explode(col("data")).alias("data")) tf_df = exploded_df.select( col("data.RecordNumber").alias("RecordNumber"), col("data.Zipcode").alias("Zipcode") ) display(tf_df) dfJSON1 = tf_df.select( col("RecordNumber"), col("Zipcode")) dfJSON1.show() - ToddChittSuper User
Expiscornovus Thanks for the quick response.
Your sample code worked great. Now it's up to me to figure out how to shred the multi-level nested arrays in my actual JSON documents.
I will check out that blog and try to learn a little more about PySpark.
Thanks
- AnonymousNot applicable
Glad to know you got some insights over your query. Please continue using Fabric Community on your further queries.