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. 建表 上傳資料 進入存資料檔案的目錄中 vim test01.json 將準備好的資料貼上進去 cat test01.json檢視一下是否成功
建立外部表 載入下資料(先把資料傳上去): 查詢Mtest資料是否載入進來: 2. 建立自定義函式,利用自定義函式將json資料解析成一個字串(以\t分割) (1)上傳 + 加Jar包 首先將jar包放置到虛擬機器上(我這裡用的是mobaxterm軟體 X-SHELL也很好用~) 在hive中執行:
(2)建立臨時函式,查詢一下
3.使用自定義函式查詢資料並且存入一個臨時表 4.使用split函式從臨時表中解析出字串的各個欄位並存入到最終結果表
至此資料整合成功