草庐IT

hive-overwrite

全部标签

hive 之select 中文乱码

此处的中文乱码和mysql的库表编码latinutf无关。直接上案例。有时候我们需要自定义一列,有时是汉字有时是字母,结果遇到这种情况了。说实话看到这真是糟心。这谁受得了。单独select没有任何问题。这是怎么回事呢?经过一番检查,发现有个地方类似与"境内" ascol但是没乱码,此时怀疑就是if函数起了作用,但是一时间不知道是为啥。。经过多方面测试concat("境内")concat_ws("","境内")没用,concat_ws("",arrary("境内"))有用,此时也不知道如何下手,只有掏出大杀器explain.起作用的PlanoptimizedbyCBO.""Vertexdepen

Hive是什么?如何使用它进行大数据分析?

作者:禅与计算机程序设计艺术1.简介Hadoop是一款开源分布式计算框架,是Apache基金会旗下的顶级项目,是建立在HadoopMapReduce之上的。它的作用主要包括存储、处理和分析海量数据。而Hive则是基于Hadoop的一款数据库产品,它能够将结构化的数据文件映射到一张表上,并提供SQL查询接口对该表中的数据进行交互和分析。因此,Hadoop+Hive可以实现快速地分析大规模的数据集,并且非常便于部署和管理。本文将详细阐述Hive是什么以及如何使用它进行大数据分析。2.基本概念术语说明2.1Hive概述Hive是一个基于Hadoop的数据库,可以用来查询结构化的数据文件。HiveQL

Hive SQL的编译过程

1.MapReduce实现基本SQL操作的原理详细讲解SQL编译为MapReduce之前,我们先来看看MapReduce框架实现SQL基本操作的原理1.1Join的实现原理select u.name, o.orderid from order o join user u on o.uid = u.uid;在map的输出value中为不同表的数据打上tag标记,在reduce阶段根据tag判断数据来源。MapReduce的过程如下(这里只是说明最基本的Join的实现,还有其他的实现方式)MapReduce CommonJoin的实现1.2Group By的实现原理select rank, iso

Kerberos (五) --------- Hive 用户认证配置

目录一、前置要求二、配置认证三、启动hiveserver2一、前置要求A、Hadoop集群启动Kerberos认证按照上述步骤为Hadoop集群开启Kerberos安全认证。B、创建Hive系统用户和Kerberos主体1.创建系统用户[root@hadoop102~]#useraddhive-ghadoop[root@hadoop102~]#echohive|passwd--stdinhive[root@hadoop103~]#useraddhive-ghadoop[root@hadoop103~]#echohive|passwd--stdinhive[root@hadoop104~]#us

在 docker 中快速启动 Apache Hive

介绍在伪分布式模式下,在Docker容器内运行ApacheHive,可以提供以下功能:快速启动/调试/为Hive准备测试环境。快速开始1.拉取镜像从DockerHub:https://hub.docker.com/r/apache/hive/tags中拉取镜像。目前发布了3个镜像:4.0.0-alpha-24.0.0-alpha-13.1.3dockerpullapache/hive:4.0.0-alpha-22.配置变量exportHIVE_VERSION=4.0.0-alpha-23.启动服务这是轻量级的,为了快速启动,它使用Derby存储元数据。dockerrun-d-p10000:10

Hive的时间操作函数

目录前言函数使用介绍实际使用判断该天是星期几判断该天对应的周(包含一周开始和结束)前言hive里面的时间函数有很多,今天单讲dayofweek函数,背景:有时候不仅要出日报,还要出周报,需要很多天归为同一周,求sum或者均值;函数使用介绍在Hive中,可以使用dayofweek()函数来计算某个日期是一周的第几天。该函数的语法如下:dayofweek(date)其中,date表示要计算的日期,可以是一个日期字符串或者一个日期类型的列名。dayofweek()函数返回一个整数,表示日期所在周的第几天,返回值范围为1-7,其中1表示周日,2表示周一,以此类推。例如,要计算当前日期是一周的第几天,可

【Hive】分区表和分桶表相关知识点介绍

Hive中的分区表和分桶表是两种用于优化数据查询和管理的技术。它们可以提高查询性能、减少数据扫描量并提供更精细的数据组织方式。分区表(PartitionedTable)Hive的分区表将数据按照一个或多个列的值进行逻辑分区。每个分区都是一个独立的子目录,其中包含符合该分区条件的数据。通过将数据分散存储在不同的分区中,分区表可以提高查询性能,因为查询只需要扫描与查询条件匹配的分区,而不是整个表。使用分区表时,您可以根据数据的特性和查询需求选择适当的列作为分区键。例如,如果您有一个包含销售数据的表,可以根据日期列对其进行分区,以便按日期范围快速查询数据。创建分区表时,您需要指定分区键并为每个分区定

hive的安装配置笔记

1.上传hive安装包2.解压3.配置Hive(在一台机器上即可)   mvhive-env.sh.templatehive-env.sh4.运行hive   发现内置默认的metastore存在问题(1.换执行路径后,原来的表不存在了。2.只能有一个用户访问同一个表)   5.配置mysql的metastore      查询以前安装的mysql相关包      rpm-qa|grepmysql    暴力删除这个包      rpm-emysql-libs-5.1.66-2.el6_3.i686--nodeps    上传两个mysql的rpm包      rpm-ivhMySQL-ser

Hive与Hadoop的版本对应关系

Downloads08April2022:release3.1.3availableThisreleaseworkswithHadoop3.x.yYoucanlookatthecomplete JIRAchangelogforthisrelease.30March2022:release4.0.0-alpha-1availableThisreleaseworkswithHadoop3.x.yYoucanlookatthecomplete JIRAchangelogforthisrelease.9June2021:release2.3.9availableThisreleaseworkswith

【SQL相关】Hive中空值与Null的判断及处理

1.空值与null的区别        null没有被分配任何值或对象,表示这个字段没有被赋值或者值是未知的,占空间,不会被count()函数统计;        空值表示这个字段被赋了一个空的值,不占空间,会被count()函数统计。2.空值与null的判断        null和''(空值)在SQL中的筛选过滤条件是不一样的,isnull识别不了'',同样地,''也识别不了null。2.1null判断--筛选nullselect*fromtablewhereaisnull--筛选非nullselect*fromtablewhereaisnotnull2.2空值判断--筛选空值select