hive 导出json格式 文件_hive中创建hive-json格式的表及查询
在hive中對(duì)于json的數(shù)據(jù)格式,可以使用get_json_object或json_tuple先解析然后查詢。
也可以直接在hive中創(chuàng)建json格式的表結(jié)構(gòu),這樣就可以直接查詢,實(shí)戰(zhàn)如下(hive-2.3.0版本):
1. 準(zhǔn)備數(shù)據(jù)源
將以下內(nèi)容保存為test.txt
{"student":{"name":"king","age":11,"sex":"M"},"class":{"book":"語文","level":2,"score":80},"teacher":{"name":"t1","class":"語文"}}
{"student":{"name":"wang","age":12,"sex":"M"},"class":{"book":"語文","level":2,"score":80},"teacher":{"name":"t1","class":"語文"}}
{"student":{"name":"test","age":13,"sex":"M"},"class":{"book":"語文","level":2,"score":80},"teacher":{"name":"t1","class":"語文"}}
{"student":{"name":"test2","age":14,"sex":"M"},"class":{"book":"語文","level":2,"score":80},"teacher":{"name":"t1","class":"語文"}}
{"student":{"name":"test3","age":15,"sex":"M"},"class":{"book":"語文","level":2,"score":80},"teacher":{"name":"t1","class":"語文"}}
{"student":{"name":"test4","age":16,"sex":"M"},"class":{"book":"語文","level":2,"score":80},"teacher":{"name":"t1","class":"語文"}}
2. 創(chuàng)建hive表
注意serde格式大小寫不能寫錯(cuò):?org.apache.hive.hcatalog.data.JsonSerDe
create external table if not exists dw_stg.student(
student map comment "學(xué)生信息",
class map comment "課程信息",
teacher map comment "授課老師信息"
)
comment "學(xué)生課程信息"
row format serde'org.apache.hive.hcatalog.data.JsonSerDe'
stored as textfile;
3. 上傳數(shù)據(jù)
將test.txt上傳到剛才創(chuàng)建的student目錄
hdfs dfs -put test.txt /user/hive/warehouse/dw_stg.db/student/
4. 使用hql查詢
查詢所有信息記錄:
查詢字段student信息
查詢字段class信息
查詢學(xué)生姓名為test4的所有記錄
取json串中某個(gè)值可以使用 student['name'] ,如下:
select
student['name'] as stuName,
class['book'] as cls_book,
class['score'] as cls_score,
teacher['name'] as tech_name
from student
where student['name'] = 'test4';
總體看起來,比使用get_json_object或json_tuple解析方便多了。
mysql中,創(chuàng)建包含json數(shù)據(jù)類型的表?創(chuàng)建json表時(shí)候的注意事項(xiàng)?查詢json字段中某個(gè)key的值?
需求描述: 在mysql數(shù)據(jù)庫中,創(chuàng)建包含json數(shù)據(jù)類型的表.記錄下,在創(chuàng)建的過程中,需要注意的問題. 操作過程: 1.通過以下的語句,創(chuàng)建包含json數(shù)據(jù)類型的表 mysql> create ...
jmeter隨筆(1)-在csv中數(shù)據(jù)為json格式的數(shù)據(jù)不完整
昨天同事在使用jmeter遇到問題,在csv中數(shù)據(jù)為json格式的數(shù)據(jù),在jmeter中無法完整的取值,小怪我看了下,給出解決辦法,其實(shí)很簡(jiǎn)單,我們一起看看,看完了記得分享給你的朋友. 問題現(xiàn)象: 1 ...
2020-08-08:有一批氣象觀測(cè)站,現(xiàn)需要獲取這些站點(diǎn)的觀測(cè)數(shù)據(jù),并存儲(chǔ)到 Hive 中。但是氣象局只提供了 api 查詢,每次只能查詢單個(gè)觀測(cè)點(diǎn)。那么如果能夠方便快速地獲取到所有的觀測(cè)點(diǎn)的數(shù)據(jù)?
福哥答案2020-08-08: 參考答案:A.通過shell 或python 等調(diào)用api,結(jié)果先暫存本地,最后將本地文件上傳到 Hive 中.B.通過 datax 的 httpReader 和 hd ...
Ajax中XML和JSON格式的優(yōu)劣比較
剛做完一個(gè)小的使用Ajax的項(xiàng)目.整個(gè)小項(xiàng)目使用JavaScript做客戶端,使用PHP做服務(wù)器端.利用xmlHttpRequest組件作為交互工具,利用XML作為數(shù)據(jù)傳輸?shù)母袷?做完后基本做一個(gè)簡(jiǎn)單 ...
MVC4中視圖獲取控制器中返回的json格式數(shù)據(jù)
再開發(fā)MVC項(xiàng)目時(shí),有時(shí)只需要從控制器中返回一個(gè)處理的結(jié)果,這時(shí)返回Json格式的數(shù)據(jù)非常的方便,在Controller中,提供了幾種返回類型和方法,如: Content() 返回文本類型的Conte ...
Spring Boot入門系列(十七)整合Mybatis,創(chuàng)建自定義mapper 實(shí)現(xiàn)多表關(guān)聯(lián)查詢!
之前講了Springboot整合Mybatis,介紹了如何自動(dòng)生成pojo實(shí)體類.mapper類和對(duì)應(yīng)的mapper.xml 文件,并實(shí)現(xiàn)最基本的增刪改查功能.mybatis 插件自動(dòng)生成的mappe ...
Mysql里查詢字段為Json格式的數(shù)據(jù)模糊查詢以及分頁方法
public void datagrid(CustomFormEntity customForm,HttpServletRequest request, HttpServletResponse res ...
hive中創(chuàng)建子表并插入數(shù)據(jù)過程初始化MR報(bào)錯(cuò)解決方法
本文繼成上一篇通過hive分析nginx日志文章,詳情參考下面鏈接: http://www.cnblogs.com/wcwen1990/p/7066230.html 接著來: 創(chuàng)建業(yè)務(wù)子表: drop ...
hive中創(chuàng)建表失敗
使用create table命令創(chuàng)建表失敗,如下錯(cuò)誤信息: hive> create table test(id int,name string,age int,sex string); FAI ...
隨機(jī)推薦
sprig里的controller之間的跳轉(zhuǎn)的問題
學(xué)習(xí)spring的controller,發(fā)現(xiàn)controller之間的跳轉(zhuǎn)有些地方搞的不是很清楚,如果通過controller的return語句實(shí)現(xiàn)跳轉(zhuǎn)的話,會(huì)造成request的丟失:具體怎么回事首 ...
HTML 學(xué)習(xí)筆記 CSS3 (2D Matrix)
Matrix 矩陣 那么什么是矩陣呢? 矩陣可以理解為方陣,只不過 平時(shí)方陣?yán)锩嬲局?矩陣中是數(shù)值: CSS3中的矩陣: css3中的矩陣指的是一個(gè)方法,書寫為matrix() 和 matrix3d ...
HDU 1054 Strategic Game(樹形DP)
Strategic Game Time Limit: 20000/10000 MS (Java/Others)????Memory Limit: 65536/32768 K (Java/Others) ...
接口list
List接口介紹 java.util.List 接口繼承自 Collection 接口,是單列集合的一個(gè)重要分支,習(xí)慣性地會(huì)將實(shí)現(xiàn)了 List 接口的對(duì)象稱為L(zhǎng)ist集合. List接口特點(diǎn): 它是一 ...
Java中final關(guān)鍵字概述
使用final修飾過的變量都不可以改變: 1.final修飾變量 恒定不變的屬性,可以用final關(guān)鍵字來修飾: 變量名建議全部使用大寫 final修飾的變量不能改變,如果程序中重新賦值,編譯報(bào)錯(cuò) 例 ...
反編譯工具 jad
JAD(Java Decompiler)是一個(gè)比較流行的Java反編譯工具,可以從網(wǎng)站 http://www.varaneckas.com/jad/ 下載,有多個(gè)系統(tǒng)下的應(yīng)用程序,包括Windows. ...
170721、springboot編程之注解(annotation)列表
(1)@SpringBootApplication 申明讓spring boot自動(dòng)給程序進(jìn)行必要的配置,這個(gè)配置等同于: @Configuration?,@EnableAutoConfigurati ...
springMVC介紹及配置
Spring MVC的Controller用于處理用戶的請(qǐng)求.Controller相當(dāng)于Struts 1里的Action,他們的實(shí)現(xiàn)機(jī)制.運(yùn)行原理都類似. Controller是個(gè)接口,一般直接繼承A ...
總結(jié)
以上是生活随笔為你收集整理的hive 导出json格式 文件_hive中创建hive-json格式的表及查询的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 详解平衡二叉树(AVL),红黑树与平衡二
- 下一篇: 简单说说Linux中valgrind进行