hive中导入json格式的数据(hive分区表)

hive中建立外部分区表,外部数据格式是json的如何导入呢?

json格式的数据表不必含有分区字段,只需要在hdfs目录结构中体现出分区就可以了

This is all according to this guide: http://blog.cloudera.com/blog/2012/12/how-to-use-a-serde-in-apache-hive/

1 hive> ADD JAR /home/hadoop/hive-serdes-1.0-SNAPSHOT.jar;
2 Added /home/hadoop/hive-serdes-1.0-SNAPSHOT.jar to class path
3 Added resource: /home/hadoop/hive-serdes-1.0-SNAPSHOT.jar

In /tmp/new I have a file abc.json

The CREATE EXTERNAL TABLE command runs properly, but it doesn‘t take in any data:

 1 hive>
 2     > CREATE EXTERNAL TABLE tweets (
 3     >   id BIGINT,
 4     >   created_at STRING,
 5     >   source STRING,
 6     >   favorited BOOLEAN,
 7     >   retweeted_status STRUCT<
 8     >     text:STRING,
 9     >     user:STRUCT<screen_name:STRING,name:STRING>,
10     >     retweet_count:INT>,
11     >   entities STRUCT<
12     >     urls:ARRAY<STRUCT<expanded_url:STRING>>,
13     >     user_mentions:ARRAY<STRUCT<screen_name:STRING,name:STRING>>,
14     >     hashtags:ARRAY<STRUCT<text:STRING>>>,
15     >   text STRING,
16     >   user STRUCT<
17     >     screen_name:STRING,
18     >     name:STRING,
19     >     friends_count:INT,
20     >     followers_count:INT,
21     >     statuses_count:INT,
22     >     verified:BOOLEAN,
23     >     utc_offset:INT,
24     >     time_zone:STRING>,
25     >   in_reply_to_screen_name STRING
26     > )
27     > PARTITIONED BY (datehour INT)
28     > ROW FORMAT SERDE ‘com.cloudera.hive.serde.JSONSerDe‘
29     > LOCATION ‘/tmp/new‘;
30 OK
31 Time taken: 0.142 seconds

注意外部分区表需要手工添加分区

具体步骤

1.) Run the create table statement.
2.) In the directory /tmp/new/ create a sub directory datehour=<some int value>, and then put your .json file inside this.这里就是说只需要在hdfs上建立目录,目录体现分区信息,将数据放到对应目录,然后直接add partiton就好了
3.) Run alter table statement adding this partition to metadata:
    alter table tweets add partition(datehour=<some int value>);
4.) Now run the select statement.
时间: 2024-10-27 10:16:38

hive中导入json格式的数据(hive分区表)的相关文章

解决在IE中返回JSON格式的数据时提示下载的问题

如题,以ASP.NET MVC为例,解决办法如下: 控制器中: public JsonResult Test() { return Json(json, "text/html"); } 视图中: $.post("/controller/action/", function (data) { data = JSON.parse(data); }); 解决在IE中返回JSON格式的数据时提示下载的问题

在IE中MVC控制器中返回JSON格式的数据时提示下载

最近做项目时,视图中用jquery.form.js异步提交表单时,接收的是JSON格式的数据,但是奇怪的是在IE中提示下载文件,其他浏览器中一切正常,下载后,里面的内容就是在控制器中返回的数据.代码如下: 视图中js代码: $("#formDoUpload").ajaxSubmit({                    type: "POST",                    url: "/controller/action/",  

asp.net MVC控制器中返回JSON格式的数据时提示下载

Asp.net mvc在接收的是JSON格式的数据,但是奇怪的是在IE中提示下载文件,其他浏览器中一切正常,下载后,里面的内容就是在控制器中返回的数据.代码如下: 视图中js代码: $("#form").ajaxSubmit({                    type: "POST",                    url: "/controller/action/",                    datatype: &

Spring拦截器从Request中获取Json格式的数据

内容如题 1.创建取值类 1 /** 2 * MyRequestWrapper.java 3 * 4 * @screen 5 * @author havery 6 */ 7 package com.newpp.core.interceptor; 8 9 import java.io.BufferedReader; 10 import java.io.ByteArrayInputStream; 11 import java.io.IOException; 12 import java.io.Inp

sqoop往hive中导入数据报找不到数据库错误

sqoop版本为1.4.4,hadoop版本为2.2.0,hive版本为0.11.0,hive元数据存放位置为mysql,当使用sqoop 从mysql往hive中导入数据时,总是提示找不到所指定的hive数据库,事实上hive中已存在该数据库,sqoop中也设置了hive路 径,/etc/profile文件中也已经设置好hive路径. mysql往hive中导数据命令: 1 ${SQOOP_HOME}/bin/sqoop import --connect jdbc:mysql://${host

在JSP页面中输出JSON格式数据

JSON-taglib是一套使在JSP页面中输出JSON格式数据的标签库. JSON-taglib主页: http://json-taglib.sourceforge.net/index.htmlJAR包下载地址: http://sourceforge.net/projects/json-taglib/files/latest/download 使用方法:1.下载json-taglib.jar,将其放到WEB-INF/lib目录2.在jsp页面中做如下声明:<%@ taglib prefix=&qu

在C#中通过使用Newtonsoft.Json库来解析百度地图地理编码(GeoCoder)服务接口返回的Json格式的数据

百度地图地理编码(GeoCoder)服务接口返回的Json格式的数据,如下所示: http://api.map.baidu.com/geocoding/v3/?address=**省**市**区**路**号院**社区&output=json&ak=您的AK密钥 返回结果实例: { "status":0, "result": { "location":{"lng":116.79, "lat":

Android Volley获取json格式的数据

为了让Android能够快速地访问网络和解析通用的数据格式Google专门推出了Volley库,用于Android系统的网络传输.volley库可以方便地获取远程服务器的图片.字符串.json对象和json对象数组等.当然,java本身也有获取json对象的方法,然而为了更好地适应移动互联网,google专门为其做了特殊的优化,因而应该尽可能地使用Volley库. Volley官方文档:https://developer.android.com/training/volley/index.htm

SQLyog-直接导出JSON格式的数据

      前言:以前做过的一个项目,有这样的一个需求使用搜索引擎来查询对应的区域信息,不过区域信息要先导出来,并且数据格式是JSON格式的,在程序中能实现这个需求,不过下面的这种方法更加的简单,通过SQL+SQLyog工具的特点直接将区域信息以JSON格式的形式导出来! 1:区域表的结构信息 2:区域关系表的结构信息 3:这个SQL语句是本次博文的核心,就是用他来拼出JSON格式的数据的,当然,仔细的看一下的话也比较简单,只是这种思路值得小记一笔 SELECT '{"regionId"