草庐IT

AdminManualConfiguration-hive-sit

全部标签

hive报错FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException:java.lang.RuntimeEx

1、问题描述: 启动hive后,输入命令:showdatabases; 后会卡顿一会儿并报错:FAILED:SemanticExceptionorg.apache.hadoop.hive.ql.metadata.HiveException:java.lang.RuntimeException:Unabletoinstantiateorg.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient报错原因是hive连接不上mysql2、解决方案:1.我认为是因为hive-site.xml中的配置问题,比如之前忘记过密码,然后修改过mysql

在hive插入数据时出现“Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask”报错

一.问题重现SQL错误[2][08S01]:Errorwhileprocessingstatement:FAILED:ExecutionError,returncode2fromorg.apache.hadoop.hive.ql.exec.mr.MapRedTaskErrorwhileprocessingstatement:FAILED:ExecutionError,returncode2fromorg.apache.hadoop.hive.ql.exec.mr.MapRedTaskErrorwhileprocessingstatement:FAILED:ExecutionError,retu

使用Sqoop命令从Oracle同步数据到Hive,修复数据乱码 %0A的问题

一、创建一张Hive测试表createtabletest_oracle_hive(id_codestring,phone_codestring,statusstring,create_timestring)partitionedby(partition_datestring)ROWFORMATDELIMITEDFIELDSTERMINATEDBY',';创建分区字段partition_date,指定分隔符“,”二、编写Sqoop数据同步命令我这里使用的是shell脚本的方式:#!/bin/bashexportLANG="en_US.UTF-8"part_date=etl_date=`date"

Hive创建分区表并插入数据

业务中经常会遇到这种需求:数据每天全量更新,但是要求月底将数据单独保存一份以供后期查询某月节点的信息。这时就要考虑用到Hive的分区表实现,即按照月份创建分区表,相当于新的月份数据保存在新表,进而实现保存了历史数据。分区表创建分区表的创建本质是在HDFS创建了一个分区字段为名称的文件夹,插入数据时根据分区字段取值插入到文件中。静态分区表定义:静态分区在插入数据时要指定分区名,支持load、insert两种插入方式,主要用于分区少,分区名可以确定的情况。动态分区表定义:动态分区在插入数据时根据指定字段取值生成分区,只能使用insert方式插入数据。在定义时如果既有静态分区字段又有动态分区字段,动

hive的自定义函数以及自定义加密函数

hive对于敏感数据的加密还不够完善,现在开发一个udf函数,自己设置密钥(hive的加密函数等级比较低,也没有集成自己加密的密钥函数,所以自己开发一个),如果要加密一些数据则可以自己使用特定的密钥进行加密解密,这样很好的方便数据的加密下面将实现过程如下:1,写一个Java类专门进行加密算法,这个代码网上很多都写好了,可以直接抄一个过来,代码如下:packagehive_udf;importsun.misc.BASE64Decoder;importsun.misc.BASE64Encoder;importjavax.crypto.*;importjavax.crypto.spec.Secret

一百八十八、Hive——HiveSQL查询表中的日期是星期几(亲测,附截图)

一、目的指标需要查询以工作日和周末维度的数据统计,因此需要根据数据的日期判断这一天属于星期几,周一到周五为工作日,周六到周日为周末二、SQL查询(一)SQL语句selectday,casewhenpmod(datediff(create_time,'2023-05-02')+1,7)=1then'周一'whenpmod(datediff(create_time,'2023-05-02')+1,7)=2then'周二'whenpmod(datediff(create_time,'2023-05-02')+1,7)=3then'周三'whenpmod(datediff(create_time,'2

Hive On Spark 概述、安装配置、计算引擎更换、应用、异常解决

文章目录Hadoop安装Hive安装HiveOnSpark与SparkOnHive区别HiveOnSparkSparkOnHive部署HiveOnSpark查询Hive对应的Spark版本号下载Spark解压Spark配置环境变量指定Hadoop路径在Hive配置Spark参数上传Jar包并更换引擎测试HiveOnSparkYarn资源分配设置解决依赖冲突问题重编译源码前言:本篇文章在已经安装Hadoop3.3.4与Hive3.1.3版本的基础上进行,与笔者版本不一致也没有关系,按照步骤来就行了。如果你不想使用低版本的Spark(例如:Spark2.x系列),请直接跳转到本文目录【重编译源码】

【Spark数仓项目】需求八:MySQL的DataX全量导入和增量导入Hive

【Spark数仓项目】需求八:MySQL的DataX全量导入和增量导入Hive文章目录一、mysql全量导入hive[分区表]需求介绍:二、mysql增量导入hive1.增量导入的第一种实现方法2.另一种方法是时间字段3.dataX脚本三、利用Python自动生成Datax的json脚本1.创建mysql和hive数据库2.修改python脚本里面的密码(2处)和hdfs端口3.运行python脚本4.将生成的json文件上传到linux5.编写shell脚本b.sh6.运行shell一、mysql全量导入hive[分区表]需求介绍:本需求将模拟从MySQL中向Hive数仓中导入数据,数据以时

【hive 】时间差(天、小时、分、秒)和常用时间格式转

unix_timestamp()是hive系统时间,格式是timestamp,精确到秒。unix_timestamp(ymdhms)是把时间转换成timestamp格式,是2018-05-2307:15:50格式。unix_timestamp()-unix_timestamp(ymdhms)是两个时间转换为timestamp之后相减,timestamp单位是秒,相减之后是两个时间之间相差的秒数。CAST((unix_timestamp()-unix_timestamp(ymdhms))%60ASint)是相差的秒数。CAST((unix_timestamp()-unix_timestamp(y

Hive insert插入数据与with子查询

1.insertinto与insertoverwrite区别insertinto与insertoverwrite都可以向hive表中插入数据,但是insertinto直接追加到表中数据的尾部,而insertoverwrite会重写数据,既先进行删除,再写入注意:如果存在分区的情况,insertoverwrite只重写当前分区数据,不会全部重写2.insert与withas子查询一起使用当在hive中同时使用insertinto(overwrite)tablexx与with子查询时候,需要将insert放在withas子查询后面(区分:与StarRocks不同,insert放在withas子查询