十六.Spark SQL之讀取複雜的json資料
阿新 • • 發佈:2018-12-19
第一步.準備json資料
test.json
{"name":"liguohui","nums":[1,2,3,4,5]}
{"name":"zhangsan","nums":[6,7,8,9,10]}
test2.json
{"name":"Yin","address":{"city":"chinese","state":"China"}}
{"name":"ligh","address":{"city":null,"state":"California"}}
第二步.讀取簡單json資料
scala> val json = spark.read.format("json").load("file:///root/data/test.json")
通過show顯示:
建立成表格的形式進行顯示:
scala> json.createOrReplaceTempView("json_table")
scala> spark.sql("select * from json_table").show
顯示陣列中的其中一列:
scala> spark.sql("select name , nums[2] from json_table").show
只顯示陣列中的一列資料:
scala> spark.sql("select name , explode(nums) from json_table").show
第三步.讀取複雜的json資料
scala> val json2 = spark.read.format("json").load("file:///root/data/test2.json")
scala> json2.createOrReplaceTempView("json_tables2")
通過sql的形式顯示:
scala> spark.sql("select * from json_tables2").show
顯示覆雜的資料(通過點的形式):
scala> spark.sql("select address.city,address.state,name from json_tables2").show
以上就完成了讀取複雜json資料的操作。