Hive

Hive

0
投票
3
回答
3520
浏览

跑数出现连不上hive数据库的问题

doubleK24 回复了问题 • 2021-03-27 16:04
0
投票
0
回答
2185
浏览
0
推荐
1287
浏览

Hive3 误操作删除数据后的恢复方案

cx库t3表hdfs://nameservice1:8020/user/hive/warehouse/cx.db/t3/delta_0000011_0000011_0000hdfs://nameservice1:8020/user/hive/warehouse/cx.db/t3/delta_0000012_0000012_0000hdfs://nameservice1:8020/user...

老头子 发表了文章 • 2021-03-04 17:19

0
推荐
1959
浏览

Hive UDF 无法删除的BUG

问题当创建UDF过程报错,如:Class不存在等,show functions like 'xx' 会发现UDF创建成功,实际函数本身是有问题的直接drop function xx,提示成功但实际show function的时候还是可以看到退出重进、重启都...

老头子 发表了文章 • 2021-01-19 13:44

0
投票
1
回答
2236
浏览
0
推荐
2631
浏览

Python数据插入Hive中文编码问题

日常使用Hive时候  经常出现中文乱码问题  在此总结下MySQL大量数据插入Hive时,一般两种情况:手动导入Hive或者用Python代码(基于python2)一.MySQL数据中文手动插入Hive手动导入数据:1.从MySQL拉数...

走马兰台 发表了文章 • 2019-11-10 18:35

0
投票
1
回答
3676
浏览
0
投票
2
回答
4787
浏览

hiveserver2不能启动

天桥下的郑成功 回复了问题 • 2019-04-02 11:05
0
推荐
4426
浏览

hive-shell批量操作分区文件

使用hive表的过程中经常需要一些便捷操作:一、hdfs文件批量写SUCCESS文件,一般来说hive表生成结束,会产生一个_SUCCESS文件判断数据是否正常刷新完成但是如果是动态分区插入表进行写文件,那么写_SUCCESS文件需...

brucelu 发表了文章 • 2018-12-25 20:34

2
推荐
10598
浏览

利用钉钉机器人定时发送数据提醒&消息

工作中偶尔会遇到一些小需求,比如以下几种需求:在钉钉里面定时提醒订餐每天及时发送某一场景数据指标到某个聊天群监控数据异常因为是小需求,没有必要新起一个工程去处理这种事情,钉钉可以支持自定义机器人,...

brucelu 发表了文章 • 2018-12-17 13:35

1
推荐
12787
浏览

windows和linux连接hive问题

本文讲述下远程连接Hive遇到的一些问题一、CentOS连接Hive   尝试使用CentOS 7远程连接Hive,首先安装好需要的相关包pip install pyhive pip install thrift yum install cyrus-sasl-devel.x86_64 pip i...

走马兰台 发表了文章 • 2018-10-31 14:58

0
投票
2
回答
2038
浏览
0
推荐
1669
浏览

【老贝伏枥】 数据库窗口函数-windows function

几乎常用的数据库都具备了SQL常用的窗口函数,比如比较常见的row_number() over()。尤其在hive数据库,灵活使用窗口函数能快速实现代码逻辑并提高执行效率。下面就依次分析几个常用函数的用途。1、排序:ROW_NUMB...

贝克汉姆 发表了文章 • 2018-09-30 22:02

0
推荐
7725
浏览

【hive常用函数一】日期函数

使用hive进行数据处理的过程种,遇到不少问题,总结之前的一些开发经验,把之前的一些处理技巧mark一下:使用通用的哑表dual作为测试表用。1、时间戳转换日期格式转换时间戳只能精确到秒(即长度只有10位,而不是...

brucelu 发表了文章 • 2018-09-27 22:18

条新动态, 点击查看
SQuirrel Sql Client ,这个可以在Windows下对hive进行操作。或者 下载Windows下的Hadoop,然后解压就行
SQuirrel Sql Client ,这个可以在Windows下对hive进行操作。或者 下载Windows下的Hadoop,然后解压就行
Bob

Bob 回答了问题 • 2016-12-29 16:53 • 2 个回复 不感兴趣

请问spark sql 是否支持对hive 外表的插入操作

赞同来自:

可以操作
可以操作
regan

regan 回答了问题 • 2017-03-02 10:44 • 1 个回复 不感兴趣

hive查询中毫秒转换为日期用哪个函数?

赞同来自:

日期函数UNIX时间戳转日期函数: from_unixtime语法:   from_unixtime(bigint unixtime[, string format])

返回值: string

说明: 转化UNIX时间戳(从1970-01-01 00:00... 显示全部 »
日期函数UNIX时间戳转日期函数: from_unixtime语法:   from_unixtime(bigint unixtime[, string format])

返回值: string

说明: 转化UNIX时间戳(从1970-01-01 00:00:00 UTC到指定时间的秒数)到当前时区的时间格式

举例:

Hive>   select from_unixtime(1323308943,’yyyyMMdd’) from dual;

20111208

获取当前UNIX时间戳函数: unix_timestamp语法:   unix_timestamp()

返回值:   bigint

说明: 获得当前时区的UNIX时间戳

举例:

hive>   select unix_timestamp() from dual;

1323309615

日期转UNIX时间戳函数: unix_timestamp语法:   unix_timestamp(string date)

返回值:   bigint

说明: 转换格式为“yyyy-MM-dd HH:mm:ss“的日期到UNIX时间戳。如果转化失败,则返回0。

举例:

hive>   select unix_timestamp(’2011-12-07 13:01:03′) from dual;

1323234063

指定格式日期转UNIX时间戳函数: unix_timestamp语法:   unix_timestamp(string date, string pattern)

返回值:   bigint

说明: 转换pattern格式的日期到UNIX时间戳。如果转化失败,则返回0。

举例:

hive>   select unix_timestamp(’20111207 13:01:03′,’yyyyMMdd HH:mm:ss’) from dual;

1323234063

日期时间转日期函数: to_date语法:   to_date(string timestamp)

返回值:   string

说明: 返回日期时间字段中的日期部分。

举例:

hive>   select to_date(’2011-12-08 10:03:01′) from dual;

2011-12-08

日期转年函数: year语法:   year(string date)

返回值: int

说明: 返回日期中的年。

举例:

hive>   select year(’2011-12-08 10:03:01′) from dual;

2011

hive>   select year(’2012-12-08′) from dual;

2012

日期转月函数: month语法: month   (string date)

返回值: int

说明: 返回日期中的月份。

举例:

hive>   select month(’2011-12-08 10:03:01′) from dual;

12

hive>   select month(’2011-08-08′) from dual;

8

日期转天函数: day语法: day   (string date)

返回值: int

说明: 返回日期中的天。

举例:

hive>   select day(’2011-12-08 10:03:01′) from dual;

8

hive>   select day(’2011-12-24′) from dual;

24

日期转小时函数: hour语法: hour   (string date)

返回值: int

说明: 返回日期中的小时。

举例:

hive>   select hour(’2011-12-08 10:03:01′) from dual;

10

日期转分钟函数: minute语法: minute   (string date)

返回值: int

说明: 返回日期中的分钟。

举例:

hive>   select minute(’2011-12-08 10:03:01′) from dual;

3

日期转秒函数: second语法: second   (string date)

返回值: int

说明: 返回日期中的秒。

举例:

hive>   select second(’2011-12-08 10:03:01′) from dual;

1

日期转周函数: weekofyear语法:   weekofyear (string date)

返回值: int

说明: 返回日期在当前的周数。

举例:

hive>   select weekofyear(’2011-12-08 10:03:01′) from dual;

49

日期比较函数: datediff语法:   datediff(string enddate, string startdate)

返回值: int

说明: 返回结束日期减去开始日期的天数。

举例:

hive>   select datediff(’2012-12-08′,’2012-05-09′) from dual;

213

日期增加函数: date_add语法:   date_add(string startdate, int days)

返回值: string

说明: 返回开始日期startdate增加days天后的日期。

举例:

hive>   select date_add(’2012-12-08′,10) from dual;

2012-12-18

日期减少函数: date_sub语法:   date_sub (string startdate, int days)

返回值: string

说明: 返回开始日期startdate减少days天后的日期。

举例:

hive>   select date_sub(’2012-12-08′,10) from dual;

2012-11-28
贝克汉姆

贝克汉姆 回答了问题 • 2018-07-15 15:33 • 1 个回复 不感兴趣

hive里的with cube有啥优化方案没有,求思路

赞同来自:

先把最大粒度的查询结果 放到临时表
再做with cube
roll up等操作
先把最大粒度的查询结果 放到临时表
再做with cube
roll up等操作
hive -e 'SELECT * from test_table'
hive -e 'SELECT * from test_table'
Bob

Bob 回答了问题 • 2017-03-14 13:22 • 1 个回复 不感兴趣

数据仓库从MySQL向大数据平台迁移的方案

赞同来自:

数据仓库建议选择使用hive,用hql语句也能完成update delete的操作。
如果仓库是在hive上,那原来的ETL操作 都改为使用hql脚本吧。这个查询语言是类似mysql的语法。
 
迁移的优先级建议先搬迁底层原始数据、然后建立ETL清洗规则,最后... 显示全部 »
数据仓库建议选择使用hive,用hql语句也能完成update delete的操作。
如果仓库是在hive上,那原来的ETL操作 都改为使用hql脚本吧。这个查询语言是类似mysql的语法。
 
迁移的优先级建议先搬迁底层原始数据、然后建立ETL清洗规则,最后搬DW数据。
在搬迁底层数据时建议你hive原始表与mysql的原始表保持结构一致。
用下面的方式试一试~IP=$1
PORT=$2
DB=$3
USERNAME=$4
PASSWORD=$5
TABLE=$6
HIVE_DB=$7
HIVE_TABLE=$8
HDFS_LOCATION=$9
PARTITION_COLUMN=${10}
CO... 显示全部 »
用下面的方式试一试~IP=$1
PORT=$2
DB=$3
USERNAME=$4
PASSWORD=$5
TABLE=$6
HIVE_DB=$7
HIVE_TABLE=$8
HDFS_LOCATION=$9
PARTITION_COLUMN=${10}
CON_DATE=${11}
#format 2017-01-09
n_day=${12}
t_day=`date --date=$n_day '+%s'`
yesterday=$(date -d"yesterday $n_day" '+%s')



HIVE_DB_TABLE=$HIVE_DB.$HIVE_TABLE
MYSQL_JDBC=jdbc:mysql://$IP:$PORT/$DB
PARTITION_PATH=$HDFS_LOCATION/$n_day

echo "--------------------"
echo "--jdbc:mysql://$IP:$PORT/$DB"
echo "--username/password:$USERNAME/$PASSWORD"
echo "--mysql table:$TABLE"
echo "--hive table:$HIVE_DB.$HIVE_TABLE"
echo "--store hdfs:$HDFS_LOCATION"
echo "--partition column:$PARTITION_COLUMN"
echo "--partition path:$PARTITION_PATH"
echo "--increment date column:$CON_DATE"
echo "--schedule date:$n_day"

echo "-----start export------"

echo "select sql: select * from $TABLE where $CON_DATE >= '$yesterday'  and $CON_DATE < '$t_day' and 1=1"
 
sqoop import --connect $MYSQL_JDBC --table $TABLE --username $USERNAME  --password $PASSWORD  -m 10 --append  --hive-import --hive-overwrite --hive-database xxx_dw --hive-table can_schedule_list --hive-partition-key data_date --hive-partition-value $n_day --fields-terminated-by "\0001" --where "$CON_DATE>='$yesterday' and $CON_DATE<'$t_day'
并不是越多越好,你可以这样理解,hive的分区只是一个map的key,很显然要根据key寻找value,其时间复杂度为O(n),key越多遍历找key的时间越长,因此并不是越多越好~
如果你说的是hive以多个字段分区,hive内部只是按这几个字段组建了多个层... 显示全部 »
并不是越多越好,你可以这样理解,hive的分区只是一个map的key,很显然要根据key寻找value,其时间复杂度为O(n),key越多遍历找key的时间越长,因此并不是越多越好~
如果你说的是hive以多个字段分区,hive内部只是按这几个字段组建了多个层级的目录。也不是层级目录越多越好,遍历目录的时间复杂度也是O(n)
MarsJ

MarsJ 回答了问题 • 2017-03-27 16:11 • 1 个回复 不感兴趣

hive 日期格式转换

赞同来自:

以空格分隔取子串,例如取出最后4个长度的为年,然后case when判断出具体的 月、日。或者写UDF去转换,你可以看一下Hive课程中的视频(https://edu.hellobi.com/course/136),有UDF部分,也有日志分析,日志分析就是讲的... 显示全部 »
以空格分隔取子串,例如取出最后4个长度的为年,然后case when判断出具体的 月、日。或者写UDF去转换,你可以看一下Hive课程中的视频(https://edu.hellobi.com/course/136),有UDF部分,也有日志分析,日志分析就是讲的时间转换,但是不是你这种格式。
regan

regan 回答了问题 • 2017-03-31 11:01 • 1 个回复 不感兴趣

hive的启动问题。

赞同来自:

MetaException(message:Could not connect to meta store using any of the URIs provided. Most recent failure: org.apache.thrift.trans... 显示全部 »
MetaException(message:Could not connect to meta store using any of the URIs provided. Most recent failure: org.apache.thrift.transport.TTransportException: java.net.ConnectException: 拒绝连接 (Connection refused) at org.apache.thrift.transport.TSocket.open(TSocket.java:226)
连接meta  data库连接不上, 检查下你的 hive-site中的 配置吧
<property>  
    <name>javax.jdo.option.ConnectionURL</name>  
    <value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value>  
    <description>JDBC connect string for a JDBC metastore</description>  
  </property>  
 <property>  
    <name>javax.jdo.option.ConnectionPassword</name>  
    <value>123</value>  
    <description>password to use against metastore database</description>  
  </property>  
<property>  
    <name>javax.jdo.option.ConnectionUserName</name>  
    <value>spark</value>  
    <description>Username to use against metastore database</description>  
  </property>  
select
month,
sum(sales) month_sales,--每月的数量
LAG(sum(sales),1,sum(sales)) over(order by month) pre_month_bal, --上个月数量... 显示全部 »
select
month,
sum(sales) month_sales,--每月的数量
LAG(sum(sales),1,sum(sales)) over(order by month) pre_month_bal, --上个月数量
sum(sum(sales)) over(partition by year order by month) year_bal_month, --年内总数量
LAST_VALUE(sum(sales)) over(partition by year order by month rows between current row and unbounded following) sales_of_last_month_of_year,
--年内最后一个月x数量

sum(sales) over(partition by year order by month rows between unbounded preceding and current row) sales_of_acc_year
--逐月累计
from table
GeorgeYao

GeorgeYao 回答了问题 • 2017-05-22 17:25 • 2 个回复 不感兴趣

mysql的date类型对应hive的哪个类型

赞同来自:

可以参考这个博文,理解一下:http://m.blog.csdn.net/article/details?id=52075058
可以参考这个博文,理解一下:http://m.blog.csdn.net/article/details?id=52075058
导出文本文件 直接上传hdfs
导出文本文件 直接上传hdfs
MySQL字符集有很多设置的,比如Server,db。。逐一尝试
MySQL字符集有很多设置的,比如Server,db。。逐一尝试
写shell脚本 #!/bin/bash
hive -e

"use youdatabase;
insert overwrite local directory '/home/hive/userlogs' into table user_log... 显示全部 »
写shell脚本 #!/bin/bash
hive -e

"use youdatabase;
insert overwrite local directory '/home/hive/userlogs' into table user_logs;
"

0
投票
1
回答
4174
浏览
0
投票
4
已解决
5804
浏览

hadoop、python、Oracle 哪个前景好?

WindyQin 回复了问题 • 2016-11-02 11:40
3
推荐
2693
浏览

Congos+Hive项目记录(一)

大数据现在已经成为企业牛逼的标配,hadoop成为了这个标配的代名词。现把日常点滴记录:一、使用jdbc方式连接cognos和hive,参考:https://ask.hellobi.com/blog/hql15/3572二、使用odbc方式连接步骤如下:1、安...

华青莲 发表了文章 • 2016-07-13 11:05

9
推荐
5414
浏览

Hive与HBase的集成实践

注:若需转载,请注明出处!Hive与HBase集成实践大数据平台搭建 hive-2.0.0 hbase 1.1.3环境说明CentOS 6.7Hadoop 2.7.2Hive 2.0.0HBase 1.1.31. 具体步骤1. 拷贝jar包首先删除$HIVE_HOME/lib下HBase和...

MarsJ 发表了文章 • 2016-05-30 20:13

4
推荐
2813
浏览

Hive安装及使用攻略

让Hadoop跑在云端系列文章,介绍了如何整合虚拟化和Hadoop,让Hadoop集群跑在VPS虚拟主机上,通过云向用户提供存储和计算的服务。现在硬件越来越便宜,一台非品牌服务器,2颗24核CPU,配48G内存,2T的硬盘,已经...

张丹 发表了文章 • 2016-04-05 19:47

0
投票
3
回答
3520
浏览

跑数出现连不上hive数据库的问题

doubleK24 回复了问题 • 2021-03-27 16:04
0
投票
0
回答
2185
浏览
0
投票
1
回答
2236
浏览
0
投票
1
回答
3676
浏览
0
投票
2
回答
4787
浏览

hiveserver2不能启动

天桥下的郑成功 回复了问题 • 2019-04-02 11:05
0
投票
1
已解决
2220
浏览
0
推荐
1287
浏览

Hive3 误操作删除数据后的恢复方案

cx库t3表hdfs://nameservice1:8020/user/hive/warehouse/cx.db/t3/delta_0000011_0000011_0000hdfs://nameservice1:8020/user/hive/warehouse/cx.db/t3/delta_0000012_0000012_0000hdfs://nameservice1:8020/user...

老头子 发表了文章 • 2021-03-04 17:19

0
推荐
1959
浏览

Hive UDF 无法删除的BUG

问题当创建UDF过程报错,如:Class不存在等,show functions like 'xx' 会发现UDF创建成功,实际函数本身是有问题的直接drop function xx,提示成功但实际show function的时候还是可以看到退出重进、重启都...

老头子 发表了文章 • 2021-01-19 13:44

0
推荐
2631
浏览

Python数据插入Hive中文编码问题

日常使用Hive时候  经常出现中文乱码问题  在此总结下MySQL大量数据插入Hive时,一般两种情况:手动导入Hive或者用Python代码(基于python2)一.MySQL数据中文手动插入Hive手动导入数据:1.从MySQL拉数...

走马兰台 发表了文章 • 2019-11-10 18:35

0
推荐
4426
浏览

hive-shell批量操作分区文件

使用hive表的过程中经常需要一些便捷操作:一、hdfs文件批量写SUCCESS文件,一般来说hive表生成结束,会产生一个_SUCCESS文件判断数据是否正常刷新完成但是如果是动态分区插入表进行写文件,那么写_SUCCESS文件需...

brucelu 发表了文章 • 2018-12-25 20:34

2
推荐
10598
浏览

利用钉钉机器人定时发送数据提醒&消息

工作中偶尔会遇到一些小需求,比如以下几种需求:在钉钉里面定时提醒订餐每天及时发送某一场景数据指标到某个聊天群监控数据异常因为是小需求,没有必要新起一个工程去处理这种事情,钉钉可以支持自定义机器人,...

brucelu 发表了文章 • 2018-12-17 13:35

1
推荐
12787
浏览

windows和linux连接hive问题

本文讲述下远程连接Hive遇到的一些问题一、CentOS连接Hive   尝试使用CentOS 7远程连接Hive,首先安装好需要的相关包pip install pyhive pip install thrift yum install cyrus-sasl-devel.x86_64 pip i...

走马兰台 发表了文章 • 2018-10-31 14:58

0
推荐
1669
浏览

【老贝伏枥】 数据库窗口函数-windows function

几乎常用的数据库都具备了SQL常用的窗口函数,比如比较常见的row_number() over()。尤其在hive数据库,灵活使用窗口函数能快速实现代码逻辑并提高执行效率。下面就依次分析几个常用函数的用途。1、排序:ROW_NUMB...

贝克汉姆 发表了文章 • 2018-09-30 22:02

0
推荐
7725
浏览

【hive常用函数一】日期函数

使用hive进行数据处理的过程种,遇到不少问题,总结之前的一些开发经验,把之前的一些处理技巧mark一下:使用通用的哑表dual作为测试表用。1、时间戳转换日期格式转换时间戳只能精确到秒(即长度只有10位,而不是...

brucelu 发表了文章 • 2018-09-27 22:18

0
推荐
2900
浏览

hive 调度

这个方法适用于存在多个hql脚本,想要统一调度,或者多个hql存在依赖关系的场景逻辑简述:四类文件 1、pkg.sh文件(1个pkg.sh文件),用来调度rpt.sh文件,在linux crontab -e 调度中添加这个文件,用...

liliwu 发表了文章 • 2018-09-11 21:11

7
推荐
4766
浏览

实现Hive查询操作HBase中的数据

今天主要给大家讲解一下,如何使用Hive来查询及操作HBase里面的数据,也就是实现二者的数据互通互导,相互操作。首先不了解HBase的亲可以看一下我之前写过的一片博文:《白话解说:SQL与NoSQL》https://ask.hello...

Max_Leo 发表了文章 • 2018-08-27 19:54

7
推荐
2407
浏览

大数据环境-快速安装使用

安装大数据环境的技术博文、甚至视频课在网上有太多太多啦。还是有很多小伙伴很头疼环境安装配置,怎么安装怎么配置,总有出错的地方,都其中最头疼的莫过于Linux系统的操作。认识一个做数据的朋友,他习惯于wind...

Max_Leo 发表了文章 • 2018-08-21 14:54

推荐
浏览


k3ho8p 发表了文章 •

推荐
浏览


ecsqfj 发表了文章 •

推荐
浏览


ckmtbv 发表了文章 •

推荐
浏览


ckmtbv 发表了文章 •

  Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。