根据JSON创建对应的HIVE表】的更多相关文章

本文提供一种用SCALA把JSON串转换为HIVE表的方法,由于比较简单,只贴代码,不做解释.有问题可以留言探讨 package com.gabry.hiveimport org.json4s._import org.json4s.native.JsonMethods._import scala.io.Source class Json2Hive{ /** * sealed abstract class JValue *case object JNothing extends JValue //…
1. 创建临时function (这里两个包都是hive自带的,不需要自己开发的,可以根据名称查找对应的版本) add jar /opt/local/hive/lib/hive-contrib-.jar; add jar /opt/local/hive/lib/mysql-connector-java--bin.jar; CREATE TEMPORARY FUNCTION dboutput AS 'org.apache.hadoop.hive.contrib.genericudf.example…
flume的配置文件如下: a1.sources=r1 a1.channels=c1 a1.sinks=s1 a1.sources.r1.type=netcat a1.sources.r1.bind=master a1.sources.r1.port=44444 a1.sinks.s1.type=hive a1.sinks.s1.hive.metastore=thrift://master:9083 a1.sinks.s1.hive.database=bd14 a1.sinks.s1.hive.…
在hive中对于json的数据格式,可以使用get_json_object或json_tuple先解析然后查询. 也可以直接在hive中创建json格式的表结构,这样就可以直接查询,实战如下(hive-2.3.0版本): 1. 准备数据源 将以下内容保存为test.txt {"student":{"name":"king","age":11,"sex":"M"},"class&…
[障碍再现] 在创建支持Map数据结构的Hive表时,抛出如下异常 hive> create table tab_map(name string,info map<string,string>) > row format delimited > fields terminated by '\t' > collection items terminated by ';' > map keys terminated by ':'; MismatchedTokenExc…
背景:根据业务需要需要把60张主子表批量入库到hive表. 创建测试数据: def createBatchTestFile(): Unit = { to ) { val sWriter = new PrintWriter(new File("D:\\server_" + layer + ".txt")) val nWriter = new PrintWriter(new File("D:\\neighour_" + layer + ".…
作用: 在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作.有时候只需要扫描表中关心的一部分数据,在对应的partition里面去查找就可以,减少查询时间. 1. 创建表 ]# cat create_rating_table_p.sql create external table rating_table_p (userId STRING, movieId STRING, rating STRING ) partitioned by (dt STRING) row…
一.将hive表数据查询出来转为json对象输出 1.将查询出来的数据转为一行一行,并指定分割符的数据 2.使用UDF函数,将每一行数据作为string传入UDF函数中转换为json再返回 1.准备数据 2.查询出来的数据转为一行一行,并指定分割符的数据 3.准备UDF函数 package com.laotou; import org.apache.hadoop.hive.ql.exec.UDF; import org.json.JSONException; import org.json.JS…
描写叙述: Hive表pms.cross_sale_path建立以日期作为分区,将hdfs文件夹/user/pms/workspace/ouyangyewei/testUsertrack/job1Output/crossSale上的数据,写入该表的$yesterday分区上 表结构: hive -e " set mapred.job.queue.name=pms; drop table if exists pms.cross_sale_path; create external table pm…
全景图:   1. 创建hive表 CREATE TABLE IF NOT EXISTS newsinfo.test( name STRING ) CLUSTERED BY (name)INTO 3 BUCKETS ROW FORMAT DELIMITED STORED AS ORC TBLPROPERTIES('transactional'='true');   2. 这里用了 ReplaceText 生成 json 数据 (正式环境可以直接从hfs里取到)   3. 用ConvertJSON…
1.将DataFrame数据如何写入到Hive表中?2.通过那个API实现创建spark临时表?3.如何将DataFrame数据写入hive指定数据表的分区中? 从spark1.2 到spark1.3,spark SQL中的SchemaRDD变为了DataFrame,DataFrame相对于SchemaRDD有了较大改变,同时提供了更多好用且方便的API. DataFrame将数据写入hive中时,默认的是hive默认数据库,insertInto没有指定数据库的参数,本文使用了下面方式将数据写入…
原文地址:http://www.aboutyun.com/forum.PHP?mod=viewthread&tid=8590&highlight=Hive 问题导读:1.如何查看hive表结构?2.如何查看表结构信息?3.如何查看分区信息?4.哪个命令可以模糊搜索表? 1.hive模糊搜索表  show tables like '*name*'; 2.查看表结构信息  desc formatted table_name;  desc table_name; 3.查看分区信息  show p…
转自网友的,主要是自己备份下 有时候不记得! 问题导读:1.如何查看hive表结构?2.如何查看表结构信息?3.如何查看分区信息?4.哪个命令可以模糊搜索表 1.hive模糊搜索表 show tables like '*name*'; 2.查看表结构信息  desc formatted table_name;  desc table_name; 3.查看分区信息  show partitions table_name; 4.根据分区查询数据  select table_coulm from ta…
阅读目录 序 创建表 查看表 修改表 删除表 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 上一篇,我们介绍了Hive和对其进行了安装,下面我们就初步的使用hive进行讲解.   下面我们开始介绍hive的创建表,修改表,删除表等. 创建表 一:Hive Client 在Terminal输入hive命令需要安装Hive Client. 二:进入 切换用户,进入hive su h…
hive的数据查询一般会扫描整个表,当表数据太大时,就会消耗些时间,有时候我们只需要对部分数据感兴趣,所以hive引入了分区的概念    hive的表分区区别于一般的分布式分区(hash分区,范围分区,一致性分区),hive的分区是比较简单的.他是根据hive的表结构,分区的字段设置将数据按目录存放起来,相当于简单的索引    hive表分区需要在表模式创建的时候指定模式才能使用,他的字段是虚拟的列,不存在表数据中.表分区在表模式创建之后使用之前使用alert table 来添加具体的分区,才能…
1. hdfs 文件   {"retCode":1,"retMsg":"Success","data":[{"secID":"000001.XSHE","ticker":"000001","secShortName":"深发展A","exchangeCD":"XSHE"…
1. hadoop fs -ls  可以查看HDFS文件 后面不加目录参数的话,默认当前用户的目录./user/当前用户 $ hadoop fs -ls 16/05/19 10:40:10 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Found 3 items drwxr-xr-x…
spark Hive表操作 之前很长一段时间是通过hiveServer操作Hive表的,一旦hiveServer宕掉就无法进行操作. 比如说一个修改表分区的操作 一.使用HiveServer的方式 val tblName = "hive_table" def dropPartitions(tblName: String): Unit = { val HIVE_SERVER = "jdbc:hive2://192.168.xx.xxx:10000" import ja…
package iie.hadoop.hcatalog.spark; import iie.udps.common.hcatalog.SerHCatInputFormat; import iie.udps.common.hcatalog.SerHCatOutputFormat; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.…
必须在表定义时创建partition a.单分区建表语句:create table day_table (id int, content string) partitioned by (dt string);单分区表,按天分区,在表结构中存在id,content,dt三列. 以dt为文件夹区分 b. 双分区建表语句:create table day_hour_table (id int, content string) partitioned by (dt string, hour string…
shell里面对日期的操作 #!/bin/bash THIS_FROM=$(date +%Y%m%d -d "-7 day") THIS_TO=$(date +%Y-%m-%d -d "-1 day") LAST_FROM=$(date +%Y-%m-%d -d "$THIS_FROM -1 year") LAST_TO=$(date +%Y-%m-%d -d "$THIS_TO -1 year") echo $THIS_FR…
作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguanh/ GitHub : https://github.com/af913337456/ 一直以来,我都是极其反感写重复的代码,所以喜欢利用面向对象的编程属性来自己造轮,或者是二次封装. 前序 GreenDao 相信很多 Android 开发者都熟悉,不知为何物的,这里不会再介绍它,建议自行百度,介绍…
spark 读写hive表主要是通过sparkssSession 读表的时候,很简单,直接像写sql一样sparkSession.sql("select * from xx") 就可以了. 这里主要是写数据,因为数据格式有很多类型,比如orc,parquet 等,这里就需要按需要的格式写数据. 首先 , 对于特殊的格式这里就要制定 dataFrame.write.format("orc")的方式. 其次, 对于写入分区表有2种方式,insertInto 和saveA…
数据做压缩和解压缩会增加CPU的开销,但可以最大程度的减少文件所需的磁盘空间和网络I/O的开销,所以最好对那些I/O密集型的作业使用数据压缩,cpu密集型,使用压缩反而会降低性能. 而hive中间结果是map输出传给reduce,所以应该使用低cpu开销和高压缩效率,一般最好使用snappy. ------------------------------------------------------------------------------ hive表的存储格式有(参见http://bl…
Hive中的表分析函数接受零个或多个输入,然后产生多列或多行输出. 1.explode函数 explode函数以array类型数据输入,然后对数组中的数据进行迭代,返回多行结果,一行一个数组元素值 ARRAY函数是将一列输入转换成一个数组输出. hive (jimdb)> SELECT ARRAY(1,2,3) FROM dual;OK_c0[1,2,3]Time taken: 0.448 seconds, Fetched: 1 row(s) SELECT explode(array(1,2,3…
知识点1:创建关联Hbase的Hive表 知识点2:Spark访问Hive 知识点3:Spark访问与Hbase关联的Hive表 知识点1:创建关联Hbase的Hive表 两种方式创建,内部表和外部表 内部表,如果删除hive表,hbase表也会删除:不建议使用这种方式,大多数都是关联进行查询操作 外部表,如果删除hive表,hbase表不受影响: hive使用的还是存储在hbase中的数据. 这里创建外部表. CREATE EXTERNAL TABLE tdatafromhbase(key s…
知识点1:Spark访问HIVE上面的数据 配置注意点:. 1.拷贝mysql-connector-java-5.1.38-bin.jar等相关的jar包到你${spark_home}/lib中(spark2.0之后是${spark_home}/jars下),不清楚就全部拷贝过去 2.将Hive的配置文件hive-site.xml拷贝到${spark_home}/conf目录下 3.因为使用ThriftJDBC/ODBC Server访问spark SQL,所以要修改hive-site.xml文…
Hive 表类型简述   表类型一.管理表或内部表Table Type:  MANAGED_TABLE example: create table  Inner(id int,name string,description string) //用来指定原文件的列分隔符row  format delimited fields terminated by '\t'; 表类型二.外部表(原始数据表多建于外部表) example: create external table extertab(nobo…
Hive表有受控表(内部表).外部表.分区表.桶表四种.   内部表,就是一般的表,前面讲到的表都是内布标,当表定义被删除的时候,表中的数据随之一并被删除.   外部表,数据存在与否和表的定义互不约束,仅仅只是表对hdfs上相应文件的一个引用,当删除表定义的时候,表中的数据依然存在.   创建外部表,external是外部表的关键字,也是和内部表有区别的地方 create external table tblName(colName colType...); 加载数据 alter table t…
Hive表的分区就是一个目录,分区字段不和表的字段重复 创建分区表: create table tb_partition(id string, name string) PARTITIONED BY (month string) row format delimited fields terminated by '\t'; 加载数据到hive分区表中 方法一:通过load方式加载 '); 方法二:insert select 方式 ') select id, name from name; hiv…