- 浏览: 771814 次
- 性别:
- 来自: 广州
最新评论
文章列表
当用hive查询时,有时可能会报错,当要查看详细的报错信息时,可以打开调试状态,
其设置方法如下:
hive -hiveconf hive.root.logger=DEBUG,console
hive和其它关系数据库一样,支持count(distinct)操作,但是对于大数据量中,如果出现数据倾斜时,会使得性能非常差,解决办法为设置数据负载均衡,其设置方法为设置hive.groupby.skewindata参数
hive (default)> set hive.groupby.skewindata;
hive.groupby.skewindata=false
默认该参数的值为false,表示不启用,要启用时,可以set hive.groupby.skewindata=ture;进行启用。
当启用时,能够解决数据倾斜的问题,但如果要在查询语句中对多个字段进行 ...
向动态分区时,报错:hive:[Fatal Error] Operator FS_14 (id=14): Number of dynamic partitions exceeded hive.exec.max.dynamic.partitions.pernode.
其原因是动态分区数太多,需要修改hive.exec.max.dynamic.partitions.pernode参数
查看最大分区数的方法:
hive> set hive.exec.max.dynamic.partitions.pernode; hive.exec.max.dynamic.partitions.pe ...
很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下,包括校验数字、字符、一些特殊的需求等等。给自己留个底,也给朋友们做个参考。
一、校验数字的表达式
Hive中Join的原理和机制
笼统的说,Hive中的Join可分为Common Join(Reduce阶段完成join)和Map Join(Map阶段完成join)。本文简单介绍一下两种join的原理和机制。
1 Hive Common Join
如果不指定MapJoin或者不符合MapJoin的条件,那么Hive解析器会将Join操作转换成Common Join,即:在Reduce阶段完成join.整个过程包含Map、Shuffle、Reduce阶段。
Map阶段
读取源表的数据,Map输出时候以Join on条件中的列为key,如果Join有多个关联键,则以这些关联键的组 ...
1. Random sampling
使用RAND()函数和LIMIT关键字来获取样例数据。使用DISTRIBUTE和SORT关键字来保证数据是随机分散到mapper和reducer的。ORDER BY RAND()语句可以获得同样的效果,但是性能没这么高。
--Syntax:
SELECT * FROM <Table_Name> DISTRIBUTE BY RAND() SORT BY RAND() LIMIT <N rows to sample>;
2. Bucket table sampling
该方式是最佳化采样buc ...
一、基本的数据类型
数据类型
描述
Byte
8位有符号值。范围从-128到127
Short
16位有符号值。范围从-32768至32767
Int
32 位有符号值。范围从 -2147483648 to 2147483647
当Hive输入由很多个小文件组成,由于每个小文件都会启动一个map任务,如果文件过小,以至于map任务启动和初始化的时间大于逻辑处理的时间,会造成资源浪费,甚至OOM。为此,当我们启动一个任务,发现输入数据量小但任务 ...
我的OLAP系统是saiku+impala,今天在重启saiku时,启动程序报如下错误:
Caused by: java.sql.SQLException: [unixODBC][Driver Manager]Can't open lib '/opt/cloudera/impalaodbc/lib/64/libclouderaimpalaodbc64.so' : file not found
使得不能装载所有schemal, 因此saiku系统使用不了,后面经过查找,发现启动程序的用户错了,不是安装该程序的用户,换成程序拥有者的用户后就能正常启动,特此记录,供有需要的人参考。 ...
rstudio-server安装步骤:
一、安装R
1、安装R的core核心包:到R官网下载安装包并通过如下命令安装
rpm -ivh R-core-3.2.0-2.el6.x86_64.rpm
2、检测是否安装成功:
R
查看是否正确进入R,然后在交互式控制台输入1 + 1,查看是否正确运算即可。
[running]slave1@192.168.13.169:/data$ R
R version 3.2.0 (2015-04-16) -- "Full of Ingredients"
Copyright (C) 2015 T ...
spark中可以通过spark sql 直接查询hive或impala中的数据,
一、启动方法
/data/spark-1.4.0-bin-cdh4/bin/spark-sql --master spark://master:7077 --total-executor-cores 10 --executor-memory 1g --executor-cores 2
注:/data/spark-1.4.0-bin-cdh4/为spark的安装路径
/data/spark-1.4.0-bin-cdh4/bin/spark-sql –help 查看启动选项
- ...
impala是一种内存计算的数据库,查询性能相比于hive官网称是快100倍,其向表中插入数据的方法如下:
1、insert into
[slave12:21000] > insert into parquet_snappy select * from raw_text_data;
Inserted 1000000000 rows in 181.98s
2、CTAS
[slave12:21000] > create table test_table STORED AS PARQUET as select * from table;Query: cre ...
要查看一个hive表文件总大小时,我们可以通过一行脚本快速实现,其命令如下:
$ hadoop fs -ls /user/hive/warehouse/test_table/ds=20151111|awk -F ' ' '{print $5}'|awk '{a+=$1}END{print a}'
32347122009
这样可以省去自己相加,下面命令是列出该表的详细文件列表
hadoop fs -ls /user/hive/warehouse/test_table/ds=20151111
方法二:查看该表总容量大小,单位为G
hadoop fs -du / ...
对于一个表如果经常插入数据和删除数据,则会产生很多不连续的碎片,这样久而久之,这个表就会占用很大空间,但实际上表里面的记录数却很少,这样不但会浪费空间,并且查询速度也更慢,因此为了解决这个问题,可以有以下解决方案
1、myisam存储引擎清理碎片方法
OPTIMIZE TABLE table_name
2、innodb存储引擎清理碎片方法
ALTER TABLE tablename ENGINE=InnoDB
1、expr计算整数变量值
格式 :expr arg
例子:计算(2+3)×4的值1、分步计算,即先计算2+3,再对其和乘4s=`expr 2 + 3`expr $s \* 42、一步完成计算:expr `expr 2 + 3 ` \* 4
–说明:
运算符号和参数之间要有空格分开;
通配符号(*),在作为乘法运算符时要用\、“”、‘’符号修饰
–:expr 3 \* 2 expr 3 “*” 2 expr 3 ‘*’ 2
`(反引号)与键盘上的~同一个键上的符号
[fsy@localhost ~]$ s=`expr 2 ...