1. 程式人生 > >Json資料解析UDF開發的簡單案例流程剖析

Json資料解析UDF開發的簡單案例流程剖析

要求: 原始JSON資料: {“movie”:”1193”,”rate”:”5”,”timeStamp”:”978300760”,”uid”:”1”} {“movie”:”661”,”rate”:”3”,”timeStamp”:”978302109”,”uid”:”1”} {“movie”:”914”,”rate”:”3”,”timeStamp”:”978301968”,”uid”:”1”} {“movie”:”3408”,”rate”:”4”,”timeStamp”:”978300275”,”uid”:”1”} {“movie”:”2355”,”rate”:”5”,”timeStamp”:”978824291”,”uid”:”1”} {“movie”:”1197”,”rate”:”3”,”timeStamp”:”978302268”,”uid”:”1”} {“movie”:”1287”,”rate”:”5”,”timeStamp”:”978302039”,”uid”:”1”}

最終得到的結果表格式: movie rate timestamp uid 1197 3 978302268 1

根據teacher給的答案自己整理了一下思路 操作步驟: 1. 建表 上傳資料 在hdfs上建一個Test01的資料夾 進入存資料檔案的目錄中 這裡寫圖片描述 vim test01.json 將準備好的資料貼上進去 cat test01.json檢視一下是否成功 這裡寫圖片描述

建立外部表 這裡寫圖片描述 載入下資料(先把資料傳上去): 這裡寫圖片描述 這裡寫圖片描述 查詢Mtest資料是否載入進來: 這裡寫圖片描述 2. 建立自定義函式,利用自定義函式將json資料解析成一個字串(以\t分割) (1)上傳 + 加Jar包 首先將jar包放置到虛擬機器上(我這裡用的是mobaxterm軟體 X-SHELL也很好用~) 在hive中執行:

(2)建立臨時函式,查詢一下 這裡寫圖片描述

這裡寫圖片描述 3.使用自定義函式查詢資料並且存入一個臨時表 這裡寫圖片描述 4.使用split函式從臨時表中解析出字串的各個欄位並存入到最終結果表 這裡寫圖片描述

這裡寫圖片描述 至此資料整合成功