`
bupt04406
  • 浏览: 348301 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Hive使用

    博客分类:
  • Hive
阅读更多
修改 conf/hadoop-env.sh 的相关设置如:
export HADOOP_HEAPSIZE=64
export HADOOP_CLIENT_OPTS="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/tianzhao/oom.hprof"
hive启动的时候会应用上面的设置,当OOM的时候,会dump映像到oom.hprof文件,可用java的VisualVM来查看内存相关的信息


partition相关:
hive在设置的内存相对比较小(64或128等)的时候会,对partition数有限制,写了一些脚本测试partition.

for ((i=1; i<=10000; i++));
   do echo "alter table tablenamexxx add partition(pt='${i}');" >> parit_test.sql;
done

建表语句
create table tablenamexxx(s string) partitioned by (pt string);

生成的添加partition语句是
alter table partition2 add if not exists partition(pt='1');
alter table partition2 add if not exists partition(pt='2');
alter table partition2 add if not exists partition(pt='3');

运行parit_test.sql
cd到hive目录下面  bin/hive -f parit_test.sql 即可

修改表名:
ALTER TABLE table_name RENAME TO new_table_name


hive> select distinct value from src;
hive> select max(key) from src;


log日志:
目录下面的文件 conf/hive-log4j.properties
#hive.root.logger=WARN,DRFA
hive.root.logger=DEBUG,DRFA
修改log级别为debug,日志存储在下面的文件中 /tmp/tianzhao/hive.log
hive.log.dir=/tmp/${user.name}  
hive.log.file=hive.log

user.name 为tianzhao
运行的过程中可以打开 hive.log文件  tail -f hive.log,在日志生成的过程中会在终端打印出来



hive命令记录:
hive每次执行的命令都会记录到当前用户主目录的 .hivehistory 文件中
tianzhao@tianzhao-VirtualBox:~$ less .hivehistory

代码在CliDriver的main函数中
    final String HISTORYFILE = ".hivehistory";
    String historyFile = System.getProperty("user.home") + File.separator + HISTORYFILE;
    reader.setHistory(new History(new File(historyFile)));

[-count[-q] <path>]
$hadoop fs -count /history/  目录下的文件数


(1)查看表的信息
hive> describe extended partition2;
OK
s string
pt string

Detailed Table Information Table(tableName:partition2, dbName:default, owner:tianzhao, createTime:1304566227, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:s, type:string, comment:null)], location:hdfs://localhost:54310/user/hive/warehouse/partition2, inputFormat:org.apache.hadoop.mapred.TextInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, parameters:{serialization.format=1}), bucketCols:[], sortCols:[], parameters:{}), partitionKeys:[FieldSchema(name:pt, type:string, comment:null)], parameters:{transient_lastDdlTime=1304566227}, viewOriginalText:null, viewExpandedText:null, tableType:MANAGED_TABLE)
Time taken: 0.054 seconds

hive> describe partition2;        
OK
s string
pt string
Time taken: 0.104 seconds


hive> show functions hash;
OK
hash
Time taken: 0.062 seconds
hive> describe function hash;
OK
hash(a1, a2, ...) - Returns a hash value of the arguments
Time taken: 0.049 seconds
hive> describe  function extended  hash;
OK
hash(a1, a2, ...) - Returns a hash value of the arguments
Time taken: 0.05 seconds



输入数据形式:
1&&&&2&&&&4

CREATE TABLE IF NOT EXISTS rtable1 (
   str1 string,
   str2 string,
   str3 string
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
With SERDEPROPERTIES (
"input.regex"="(\\d+)&&&&(\\d+)&&&&(\\d+)"
);

load data local inpath '/home/tianzhao/sql/data/RegexSerDe' into table rtable1;

select * from rtable1;


http://search-hadoop.com/m/WBuaH1Z4TKu1/partition+%252B++filter+%252B+udf&subj=+ANNOUNCE+Apache+Hive+0+7+0+Released

https://issues.apache.org/jira/browse/HIVE-1750
[HIVE-1609] - Support partition filtering in metastore
https://issues.apache.org/jira/browse/HIVE-1862
https://issues.apache.org/jira/browse/HIVE-1849
https://issues.apache.org/jira/browse/HIVE-1738
https://issues.apache.org/jira/browse/HIVE-1758
https://issues.apache.org/jira/browse/HIVE-1642



https://issues.apache.org/jira/browse/HIVE-1913

https://issues.apache.org/jira/browse/HIVE-1430

https://issues.apache.org/jira/browse/HIVE-1305

https://issues.apache.org/jira/browse/HIVE-1462

https://issues.apache.org/jira/browse/HIVE-1790

https://issues.apache.org/jira/browse/HIVE-1514

https://issues.apache.org/jira/browse/HIVE-1971

https://issues.apache.org/jira/browse/HIVE-1361

https://issues.apache.org/jira/browse/HIVE-138

https://issues.apache.org/jira/browse/HIVE-1835


https://issues.apache.org/jira/browse/HIVE-1815

https://issues.apache.org/jira/browse/HIVE-1943

https://issues.apache.org/jira/browse/HIVE-2056

https://issues.apache.org/jira/browse/HIVE-2028


https://issues.apache.org/jira/browse/HIVE-1918


https://issues.apache.org/jira/browse/HIVE-1803



https://issues.apache.org/jira/browse/HIVE-558
https://issues.apache.org/jira/browse/HIVE-1658

https://issues.apache.org/jira/browse/HIVE-1731

https://issues.apache.org/jira/browse/HIVE-138

https://issues.apache.org/jira/browse/HIVE-1408

在eclipse里面debug hive

未完待续
分享到:
评论
3 楼 kezhon 2011-09-06  
bupt04406 写道
add file

这些files也要像ADD JAR那样add吗?但是我试过,没有效果啊?
2 楼 bupt04406 2011-09-06  
add file
1 楼 kezhon 2011-09-06  
前辈能不能请教个问题,我在使用hive写UDF时,函数需要引用外部resource中的文件,但是运行时就报
java.io.FileNotFoundException: resource/placeMap.txt (No such file or directory)。
但是在本地运行无误。
请问可以怎么解决?非常感谢!

相关推荐

    Hive使用手册Hive使用手册

    9. **Hive使用注意点** - 确保数据格式与表结构匹配。 - 优化查询,避免全表扫描和过度复杂的子查询。 - 合理使用分区,减少数据处理量。 10. **Hive优化** - 使用桶表(Bucketing)和分桶连接(Bucketed Joins...

    CDH550@hive 使用及操作说明

    ### CDH550@hive 使用及操作说明 #### 系统介绍 ##### 总体说明 本文档旨在详细介绍CDH 5.5.0环境下Hive的使用方法及其相关操作指南。Hive是一种建立在Hadoop之上的数据仓库工具,主要用于通过SQL查询语言来处理...

    云计算HIVE使用.docx

    ### 云计算HIVE使用知识点详解 #### 一、Hive概念与特点 **Hive**是一种构建于**Hadoop**平台之上的数据仓库架构。它为数据抽取、转换与加载(ETL)提供了多种工具,并支持对存储在**Hadoop**中的大规模数据进行...

    Hive metastore 使用达梦数据库存储元数据

    《Hive metastore 使用达梦数据库存储元数据详解》 在大数据处理领域,Hive作为一个分布式数据仓库工具,被广泛用于存储和管理大规模结构化数据。Hive的元数据是其核心组成部分,它包含了表、分区、列等信息,使得...

    HIVE安装及详解

    * 数据存储:HIVE使用Hadoop分布式文件系统(HDFS)存储数据,而传统数据库使用关系数据库管理系统(RDBMS) * 数据处理:HIVE使用MapReduce处理数据,而传统数据库使用SQL查询 * 扩展性:HIVE具有高可扩展性,可以...

    Hive开发规范及要点

    2. 使用Hive命令行模式导出数据:使用`hive -e "select day_id,user,count from user_table where day_id in ('2014-03-06','2014-03-07','2014-03-08','2014-03-09','2014-03-10');"&gt; /home/test/test.dat;`语句...

    Hive配置(Oracle数据库为元数据)

    当需要使用 Oracle 数据库作为 Hive 的元数据存储时,我们需要对 Hive 进行相应的配置调整。本文档将详细介绍如何配置 Hive 以便能够利用 Oracle 数据库来管理其元数据信息。 #### 二、安装与配置流程 **1. 下载并...

    Hive驱动1.1.0.zip

    3. **libthrift.jar**:Thrift库,Hive使用的RPC框架,用于跨语言通信。 4. **hadoop-common.jar** 和 **hadoop-hdfs.jar**:Hadoop的通用库和HDFS的客户端,用于与HDFS交互。 在DataGrip中配置Hive连接的步骤大致...

    presto和hive的使用区别

    Hive是把一个查询转化成多个MapReduce任务,然后一个接一个执行。执行的中间结果通过对磁盘的读写来同步。然而,Presto没有使用MapReduce,它是通过一个定制的查询和执行引擎来完成的。它的所有的查询处理是在内存中...

    Hive使用手册1

    **Hive基本概念** Hive是基于Hadoop的数据仓库工具,它可以将结构化的数据文件映射为一张数据库表,并提供SQL-like查询语言(HQL)进行数据查询、...Sentry和Kerberos的使用则进一步增强了Hive的安全性和访问控制。

    apache-hive-2.3.9-bin.tar大数据HIVE.zip

    8. **Hive on Tez/Spark**:Hive 2.3.9 版本中,用户可以选择使用Tez或Spark作为执行引擎,以提高查询性能,尤其是对于交互式查询。 9. **ACID特性**:从Hive 2.0开始,Hive支持事务(Transactions)、原子性...

    hive systemctl启停hiveserver2和metastore服务.pdf

    在Hadoop生态系统中,Hive是一个基于HDFS的数据仓库工具,它允许用户使用SQL(HQL)查询和管理存储在Hadoop集群中的大数据集。然而,手动启动和停止Hive的服务,如HiveServer2和Metastore,可能会变得繁琐和耗时。...

    hive实验报告.docx

    实验报告主要涵盖了Hive的安装、配置以及基本操作,包括DDL(Data Definition Language)和DML(Data Manipulation Language)的使用,Hive与MySQL的交互,UDF(User Defined Function)的开发,以及部分调优策略的...

    java解决hive快速导数据到Hbase代码

    本文将详细讨论如何使用Java编程语言实现从Hive到HBase的快速数据导入方案。 首先,Hive是一个基于Hadoop的数据仓库工具,它可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,适合大规模数据的离线...

    cloudera manager中添加hive数据库使用mysql的配置步骤

    在Cloudera Manager中配置Hive使用MySQL数据库涉及多个步骤,从卸载CentOS默认MySQL到配置完毕,下面详细说明每一步的知识点。 首先,确保在添加Hive数据库前,系统中不存在先前安装的MySQL版本。使用命令rpm -qa |...

    大数据技术基础实验报告-Hive安装配置与应用.doc

    默认情况下,Hive使用内嵌的Derby数据库作为元数据库,但考虑到并发访问和性能问题,推荐使用MySQL作为元数据库。首先,我们需要安装MySQL服务器: ``` apt-get install mysql-server -y service mysql start `...

    Hive用户指南 Hive user guide 中文版

    Hive使用元数据库来存储关于表的元数据信息。元数据库可以使用两种不同的实现方式: - **Derby**:Derby是一种轻量级的嵌入式数据库,主要用于测试和小型项目。Hive默认使用Derby作为元数据库。 - **MySQL**:对于...

    hive2.1.1 + hadoop2.6.0jdbc驱动

    10. **libthrift-0.9.3.jar**:Thrift库,是Facebook开源的一种跨语言的服务框架,Hive使用Thrift来提供RPC服务。 这个压缩包提供的jar文件是构建Hive JDBC连接的基础,可以用于开发应用程序,通过JDBC接口访问和...

    HIVE从入门到精通.pdf

    - **创建目录**:Hive使用HDFS作为其底层存储,因此创建目录实际上是在HDFS中创建目录。 - **创建表**:使用CREATE TABLE语句创建表,可以指定列类型、分区键等。例如: ```sql CREATE TABLE pokes (id INT, name...

Global site tag (gtag.js) - Google Analytics