【急】hive表数据太多,普通的查询语句都用不了,求解决【应该很简单】

之前做项目用的hive,本来功能什么的都好了,但是测试的时候不知道王里面加了多少数据,可能有5000W条,一张表。
然后我现在用select * from tablename,或者select count(1) from tablename,根本就没有反映,一直在loding

用select * from tablename limit 1,1,就可以出来结果

请问这是杂回事情,怎么优化?是不是内存不足???
求帮忙,今天我一定得解决这个问题阿

我是用java 的jdbc来操作的,换到beeline上执行也是一样,一直loading

0

4个回答

select *是将所有数据load到内存,5000万数据量还是比较大的,加载到内存都是一个比较漫长的过程了。你可以试一下在该表建分区。查询的时候建议指定分区,或者像select * from tablename limit 1,1这样做分页,并且建议用where条件过滤出需要的数据(如果有过滤条件的情况下),尽量避免全表查询。

2
qdf8474
qdf_csdn 回复u011856283: 一般对数据库查询都不建议直接select * 的,特别是大表,因为无论多大的内存都很难加载进那么大的数据量的
大约一年之前 回复
u011856283
你好杰米 果然还是内存的问题
大约一年之前 回复

1.表是否压缩
2.在命令行测试了吗

1
u011856283
你好杰米 试过了,不行
大约一年之前 回复
u011856283
你好杰米 hive 可以压缩么?
大约一年之前 回复

表上有主键吗? 没有的话加个主键, 然后在试试.

0

做分区的时候建议按照平台对该表的查询需求来选择分区的类型和粒度

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
OJ 刷题 5-3 出租 (20)
OJ刷题,曾经网上很火的一张出租房屋的宣传页
Hive通过查询语句向表中插入数据注意事项
转载
Java - PAT - L1-027. 出租(天梯赛决赛题目)
下面是新浪微博上曾经很火的一张图: 一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1,index[1]=0 对应 arr[0]=8,index[2]=3 对应 arr[3]=0,以此类推…… 很容易得到电话号码是18013820100。 本题要求你编写一个程序,为任何一个电话号码生成这
Hive表中通过查询插入数据错误(解决!)
1.报错如下: 2.错误原因: 表中字段太多,为了简便使用了 select *,导致查询结果中的列数不匹配。 3.解决办法: 将 select * 改为需要的字段即可。
这段代码很经典
[code="java"]//添加保存POJO for (int j = 0; j < alObject.size(); ++j) { ...
hive解决小文件过多的问题--[常用策略]
哪里会产生小文件 ? 源数据本身有很多小文件 动态分区会产生大量小文件 reduce个数越多, 小文件越多 按分区插入数据的时候会产生大量的小文件, 文件个数 = maptask个数 * 分区数 小文件太多造成的影响 ? 从Hive的角度看,小文件会开很多map,一个map开一个JVM去执行,所以这些任务的初始化,启动,执行会浪费大量的资源,严重影响性能。 HDFS存储太多小文件, 会导致n...
mdmcpq.in文件
急求XP系统中mdmcpq.inf和usbser.sys文件,解决套件无连接!
sql语句查询的表太多,数据太大,影响查询效率 使用视图
sql语句查询的表太多,数据太大,影响查询效率,这时我们可以使用视图。例如:SELECT sfmc AS 省份, Ksh AS 考生号, Zkzh AS 准考证号, Xm AS 姓名, xbmc AS 性别, Csny AS 出生年月, zzmmmc AS 政治面貌, mzmc AS 民族, kslbmc AS 考生类别, bylbmc AS 毕业类别, Zxdm AS 中学...
hive修复表数据
由于之前已经导入数据,之后查询不到 可以使用msck repair table xxxxx命令修复!
7-2 出租(20 分)
一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1,index[1]=0 对应 arr[0]=8,index[2]=3 对应 arr[3]=0,以此类推…… 很容易得到电话号码是18013820100。
Hive入门(四):HQL查询语句(一)
select 查询显示表名 查询所有列 查询指定列并指定列别名 查询集合数据类型列 查询Array元素 查询Map元素 查询Struct元素 查询计算列 算数运算符 运算函数 数学函数 聚合函数 表生成函数 Limit函数 嵌套select 语句 case语句 where语句 浮点数比较问题 模糊匹配 like rlike group by select 首先可...
Mysql大表的解决方案,以及Hive的简单分页查询
先说一下遇到的问题,然后给出自己的解决方案,虽然不一定是最佳的解决方法,但是目前确实解决了公司的大表数据问题,如果其他小伙伴有更好的解决方法,也请多多交流,给出自己的解决方法。 目前所有的数据和工具组件都是基于腾讯云搭建和管理,先说下我们遇到的情况: 1.mysql表查询数据量较大(单表最大已经达到33亿条数据,整个mysql已经达到2.9T的数据存储), 2.mysql表每日新增数据量较大...
急问
DLNA中传输的H264标准的文件里读取的参数profile@level值不对,请高手指教指教!
Hive表数据的查询
文中的两张表emp和dept: emp数据如下: 7499 ALLEN SALESMAN 7698 1981-02-20 1600.0 300.0 30 7521 WARD SALESMAN 7698 1981-02-22 1250.0 500.0 30 7566 JONES MANAGER 7839 1981-04-02 2975.0 0.0 20 7654 MA...
hive on spark 动态解决小文件太多的办法
在做项目时,有个ETL需要处理,数据都在HIVE里面,需要对数据进行统计分析转换。开始直接用的HIVE的JDBC,效率不高。后来想到用hive on spark的方式处理。底层不再使用MapReduce进行计算,避免shuffle引起的大量读写硬盘和rpc网络拷贝带来的性能底下问题,程序效率有了明显提高。但是随之而来的是用sparksql往hive表中插入数据时,会产生很多小文件。用hive时,可以
Hive分区查询
显示表分区:hive> show partitions table_name;根据表分区查询数据:hive> select * from table_name where partition_date='2018-04-10' ; 
[Hive]hive分区设置注意事项
1、分区不宜过多 创建分区可以让Hive不必对输入进行全盘扫描,确实可以优化查询。但是使用过多分区会带来两方面的问题: (1)HDFS设计用于存储数百万的大文件,而不是数十亿的小文件。使用过多分区会创建大量的非必须的hadoop文件和文件夹。一个分区对应一个包含多个文件的文件夹。如果指定的表存在数百个分区,则可能每天都会创建好几万个文件。 (2)MapReduce会将一个任务(job)转化成多个任...
其他用户登录hive问题
其他用户登录hive cli 报以上错误解决方法: 在hive-site.xml找到以下参数并调整权限 hive.exec.local.scratchdir  --本地目录    chmod 666 该目录即可 hive.exec.scratchdir  ----对应hdfs目录    hadoop fs -chmod 666 该目录即可
快速查询hive数据仓库表中的总条数
Author: kwu --- 快速查询hive数据仓库中的条数,在查询hive表的条数,通常使用count(*),但是数据量大的时候,mr跑count(*)往往需要几分钟的时间。
hive--Hive之数据倾斜的原因和解决方法
来源:https://yq.aliyun.com/articles/60908 数据倾斜 在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平均值,而由于数据倾斜的原因造成map处理数据量的差异过大,使得这些平均值能代表的价值降低。
MySQL表分区解决数据量过多导致查询缓慢的问题
MySQL :当表数据量每天有数据更新,数据量特别大的情况下,将选择mySQL的表分区 ---------------------- //第一步,建分区表时,对数据库操作,修正group by的错误 show variables like “sql_mode”; set sql_mode=’’; set sql_mode=‘NO_ENGINE_SUBSTITUTION,STRICT_TRANS_...
HIVE删除外部表
测试 使用truncate命令删除外部表: truncate table mytable; #FAILED: SemanticException [Error 10146]: Cannot truncate non-managed table mytable. (state=,code=0) 分析 查看表结构 1. describe extended tablename 2. ...
hive 表数据加载、表删除试验
1. 非分区表 (1)load 加载数据 本地文本文件a.txt中有一行'aaa',执行下面的命令。 CREATE TABLE t1 (name STRING); LOAD DATA LOCAL INPATH '/home/grid/a.txt' INTO TABLE t1; SELECT * FROM t1; dfs -ls /user/hive/warehouse/test.db/t1;
hive 动态分区 分区数太多出错
insert overwrite table lobehaviour_trade_daily partition (part)  select dp_id, buyer_nick, to_date(created), payment, 0 as item, if(to_date(modified) from taobao.s_trade_hbase  where (part distrib
Hive查询语句
一.基本查询 1.全表查询和特定列查询 1.1 全表查询 1.2 选择特定列查询 2.列别名  3.算术运算符 4.常用函数   二.WHERE语句 1.比较运算符  如: 2.逻辑运算符 三.分组 1.group by语句 GROUP BY语句用来与聚合函数(aggregate functions such as COUNT, SUM,...
hive 执行查询任务失败
报错:replicated to 0 nodes instead of minReplication (=1). There are 1 datanode(s) running and 1 node(s) are excluded in this operation.解决方案:这是因为有一个datanode掉线了方案1:重启机器,重新开启hadoop集群发现掉线的那个节点的日志报错: WARN ...
hive查询语句
Hive查询 1、hive模糊搜索表 show tables like '*name*'; 2、查看表结构信息 desc formatted tablename; desc table_name 3、查看分区信息 show partitions tablename; 4、根据分区查询数据 select table_coulm from tablename where partit
数据库分区技术(数据表数据量太多导致服务速度慢 ,如何优化数据库性能)
文章来源: http://baike.baidu.com/link?url=M_wdTsWIjv2gQisL3UKNG2nFWlvN55_PGPCzGjdF7eTS_71vvJNvJ0cjACTBCi11dwOqNn7E2UfTPkVEugyv-q 数据库分区的优势: 性能的提升(Increased performance) 在扫描操作中,如果MySQL的优化器知道哪个分区中才包含特定查询
Hive_Hive中实现差集_差集实现思路
参考文章:Hive差集运算详解https://blog.csdn.net/dr_guo/article/details/51182626Hive求两个集合的减集,hive集合http://www.bkjia.com/yjs/942686.html    在日常的工作中,我们需要经常实现各种各样的SQL, 此时避免不了需要实现各个结果集的交.并,差集 操作交集 :    一般直接执行JOIN 操作即...
Hive入门(四):HQL查询语句(二)
join music表 M-0001,Valder Fields,S-0001,L-0001 M-0002,A Step You Can't Take Back,S-0002,L-0002 M-0003,For You,S-0003,L-0003 M-0004,Life is like a Boat,S-0003,L-0003 M-0004,Fake Song,<unknow>,&
hive表中解决乱码策略
友情提示:更多有关大数据、人工智能方面技术文章请关注博主个人微信公众号:高级大数据架构师! 修改编码,设置为utf-8  在 mysql 配置文件/etc/my.cnf(不需要拷贝)中[mysqld]的下面增加以下内容         init_connect='SET collation_connection = utf8_unicode_ci'    init_connect='SET NA...
Hive中count统计数量的多种使用方式
其他环境没有试,Hive上肯定是可以的。 可以在count里使用case when、distinct等处理,满足日常数据统计需求。 select pt_day, count(*), count(uid),count(identifier), count(distinct uid),count(distinct identifier),
Hive:HiveQL中如何排查数据倾斜问题
原文:https://blog.csdn.net/u012151684/article/details/77074356 如果某个key下记录数远超其他key,在join或group的时候可能会导致某个reduce任务特别慢。本文分析下join的场景。 本例子SQL如下:查询每个appid打开的次数,需要排除掉作弊的imei。 说明:表cheat_imei,7500万条,无大key,为作...
hive表关联查询,什么情况下会发生数据倾斜,应该如何解决?
** hive表关联查询,什么情况下会发生数据倾斜,应该如何解决? ** 倾斜原因: map输出数据按key Hash的分配到reduce中,由于key分布不均匀、业务数据本身的特性、建表时考虑不周等原因造成的reduce 上的数据量差异过大。 解决方案: (1)参数调节: hive.map.aggr = true hive.groupby.skewindata=true 有数据倾斜的时候进行负载...
Hive中分区表及陷阱
分区表分区表实际就是对应hdfs文件系统上的的独立的文件夹,该文件是夹下是该分区所有数据文件。分区可以理解为分类,通过分类把不同类型的数据放到不同的目录下。分类的标准就是分区字段,可以一个,也可以多个。分区表的意义在于优化查询。查询时尽量利用分区字段。如果不使用分区字段,就会全部扫描。在查询是通过where子句查询来指定所需的分区。样例create external table if not ex...
Hadoop-练习 利用hive进行数据查询
1   准备测试数据  问题1:求各个部门的总工资  问题2:求各个部门的人数和平均工资  问题3:求每个部门最早进入公司的员工姓名 问题4:求各个城市的员工的总工资 问题5:列出工资比上司高的员工姓名及其工资 问题6:列出工资比公司平均工资要高的员工姓名及其工资 问题7:列出名字以J开头的员工姓名及其所属部门名称 问题8:列出工资最高的头三名员工姓名及其工资 问题9:将全体员工按照总收入(工资+...
Hive动态分区太多也会有问题
最近在测试动态分区时,猜测可能是动态分区的数太多,导致一个SQL始终报错: aused by: org.apache.hadoop.hive.ql.metadata.HiveException: java.io.IOException: Bad connect ack with firstBadLink as 192.168.2.24:50010  at org.apache.hadoop.h
hive分区表分通表建表语句详解和例子
详细描述了hive分桶表,分区表的创建,附带详细建表语句
hive数据倾斜原因和解决方法
在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平均值,而由于数据倾斜的原因造成map处理数据量的差异过大,使得这些平均值能代表的价值降低。Hive的执行是分阶段的,map处理数据量的差异取决于上一个stage的reduce输出,所以如何将数据均匀的
truncate——删除hive表中的数据
       在某些情况下,我们需要在不删除表的情况下,删除表中的数据。像Oracle、MySQL数据库,可以使用如下语言删除表中的数据: DELETE FROM tableName;         在Hive中,上面的语句就不那么好用了,我们可以使用truncate来删除相关表中的数据,命令如下: truncate table tableName;         注意:trunc...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 普通物联网价格 应该怎样学python