Hive进阶

简介: hive配置,命令hive查询显示列名set hive.cli.print.header=true; // 打印列名set hive.cli.print.

hive配置,命令

hive查询显示列名

set hive.cli.print.header=true; // 打印列名
set hive.cli.print.row.to.vertical=true; // 开启行转列功能, 前提必须开启打印列名功能
set hive.cli.print.row.to.vertical.num=1; // 设置每行显示的列数

hive默认分隔符 \001

hive命令行中查看当前hive环境变量 !env

hive命令行中查看当前hive及hadoop环境变量 set -v

hive分析结果导出到文件

insert overwrite local directory '/tmp/output' select * from table_name;
insert overwrite local directory '/tmp/output' row format delimited fields terminated by ',' select * from table_name

hive import

import中的这个参数不能和hive的地址一样,这个目录是临时目录,hive会先把数据加载到这个目录,然后再复制到hive表所在的目录
--target-dir /user/hive/warehouse/temp/$hive_table

hive export

sqoop导出sequencefile格式的文件时需要特殊处理(自行百度),默认需要使用textfile

Hive将一行记录拆分成多行

http://blog.csdn.net/u010814849/article/details/77532897

hive子查询

错误信息:Unsupported SubQuery Expression : Correlating expression cannot contain unqualified column references
hive子查询列名要具有确定性,需要给表加个别名
select b from tablename t1 where t1.b in (select b from t2);

Hive SQL

<>  这个符号是不等于的意思,相当于 !=

hive优化

hive优化原则

  • hive优化原则,减小map数,减少job数

hive优化参数

set hive.merge.mapfiles=true;
set hive.merge.mapredfiles=true;
set mapred.max.split.size=268435456;
set hive.merge.size.per.task=268435456;
set hive.merge.smallfiles.avgsize=134217728;

hive异常定位

  • hive创建有分区到外部表时,一定要先增加分区,然后才能查到数据,如果不手动新增分区是查不到数据的
    LTER TABLE adcall ADD IF NOT EXISTS PARTITION(day='$date', hou='$hour');

  • hive查询时需要估算下结果的大小,特别时有子查询时,会把查询结果存放到本地,防止中间结果太多硬盘满了

  • hive查询不动了,假死,首先查看NodeManager的日志,多半是NodeManager挂掉了,或者处于unhealthy state状态

  • job执行报错,可能就是nodemanager的问题,而不是resourcemanager的问题

目录
相关文章
|
资源调度 Apache 流计算
Yarn命令详细介绍
Yarn命令详细介绍
1041 2
|
消息中间件 API 数据处理
Flink常见面试问题(附答案)
Apache Flink是开源的流批处理框架,提供低延迟、高吞吐的数据处理。与Hadoop不同,Flink专注于实时数据流。其核心特性包括事件时间和处理时间的概念,事件时间通过水印处理乱序事件。Flink通过检查点实现容错,支持滚动、滑动和会话窗口进行流数据处理。状态后端用于管理应用程序状态,水印用于处理延迟数据。Flink与Kafka集成能保证事件顺序,支持多种连接器如Kafka、JDBC等。其处理延迟数据、乱序事件的能力,以及Exactly-Once语义,使其在大规模数据处理中具有优势。Flink还支持表格API和DataStream API,以及多种容错和性能优化策略。
2014 2
Flink常见面试问题(附答案)
|
运维 Ubuntu Java
如何在Linux中不解压就能查看压缩包中的内容,这13个命令非常强!
不解压查看压缩包内容对于提升 Linux 使用效率帮助非常大,不管是开发人员还是运维人员,这种需求场景非常多。
6696 0
如何在Linux中不解压就能查看压缩包中的内容,这13个命令非常强!
|
4月前
|
人工智能 前端开发 关系型数据库
AI 面试问答系统:一键生成专属面试题,智能评分助你拿 Offer
AI面试问答系统是一款开源智能面试备战工具:上传简历+岗位JD,AI自动生成四维面试题、追问及答案;支持背诵默写智能评分(0-100)、技能掌握度追踪(1-5星)与答案优化。兼容通义千问/GPT/DeepSeek等多模型,本地一键部署,免费开源!
|
SQL 存储 缓存
降本60% ,阿里云 EMR StarRocks 全新发布存算分离版本
阿里云 EMR Serverless StarRocks 现已推出全新存算分离版本,该版本不仅基于开源 StarRocks 进行了全面优化,实现了存储与计算解耦架构,还在性能、弹性伸缩以及多计算组隔离能力方面取得了显著进展。
1820 62
|
IDE 开发工具 Python
在pycharm中使用jupyter
本文介绍了如何在PyCharm中安装并使用Jupyter Notebook,包括在PyCharm中新建Jupyter Notebook、配置Jupyter Server以及利用PyCharm的高级功能进行更高效的编程和调试。
在pycharm中使用jupyter
|
10月前
|
存储 缓存 安全
Python类与实例变量:你真的理解它们的区别吗?
本文深入解析Python中类变量与实例变量的区别,通过20个代码案例详解二者在内存、作用域及生命周期上的差异,涵盖应用场景、常见误区及多线程安全等实战问题,助你掌握面向对象编程核心要点。附免费Python教程链接。
396 0
|
存储 缓存 自然语言处理
Elasticsearch 查询性能优化:从 3 秒到 300ms 的 6 个核心参数调优指南
本文分享某电商平台 Elasticsearch 性能调优实战,通过调整分片数、刷新间隔、缓存配置等 6 个核心参数,将商品搜索从 3 秒优化至 300 毫秒,显著提升查询性能与系统吞吐量。内容涵盖性能诊断、参数调优逻辑、实操方案及避坑指南,助力高频查询场景下的 ES 优化。
|
SQL 弹性计算 安全
一文教你如何从零构建机密计算平台解决方案-ECS安全季
本文整理自【弹性计算技术公开课——ECS安全季】中,阿里云弹性计算产品专家唐湘华和阿里云弹性计算高级技术专家聂百川带来的收官课程《从零构建机密计算平台的解决方案》一节。
|
XML Java Maven
logback在springBoot项目中的使用 springboot中使用日志进行持久化保存日志信息
这篇文章详细介绍了如何在Spring Boot项目中使用logback进行日志记录,包括Maven依赖配置、logback配置文件的编写,以及实现的日志持久化和控制台输出效果。
logback在springBoot项目中的使用 springboot中使用日志进行持久化保存日志信息

热门文章

最新文章