【Hadoop大数据技术】——Hive数据仓库(学习笔记)

比较Hive数据库与MySQL数据库 比较hive数据库与mysql数据库 阅读详情
AI摘要

本文介绍了Hive的起源、数据仓库的概念及其在Hadoop生态系统中的角色。详细讲述了Hive的系统架构、工作原理,以及如何在Hadoop上搭建Hive环境,包括MySQL配置和HiveQL操作。

📖 前言: Hive起源于Facebook,Facebook公司有着大量的日志数据,而Hadoop是实现了MapReduce模式开源的分布式并行计算的框架,可轻松处理大规模数据。然而MapReduce程序对熟悉Java语言的工程师来说容易开发,但对于其他语言使用者则难度较大。因此Facebook开发团队想设计一种使用SQL语言对日志数据查询分析的工具,而Hive就诞生于此,只要懂SQL语言,就能够胜任大数据分析方面的工作,还节省了开发人员的学习成本。

在这里插入图片描述


🕒 1. 数据仓库简介

🕘 1.1 什么是数据仓库

数据仓库是一个面向主题的、集成的、随时间变化的,但信息本身相对稳定的数据集合,它用于支持企业或组织的决策分析处理。

🕘 1.2 数据仓库的结构

数据仓库的结构是由数据源、数据存储及管理、OLAP服务器和前端工具四个部分组成。

在这里插入图片描述

  • 数据源:数据源是数据仓库的基础,即系统的数据来源,通常包含企业的各种内部信息和外部信息。
  • 数据存储及管理:数据存储及管理是整个数据仓库的核心,数据仓库的组织管理方式决定了对外部数据的表现形式,针对系统现有的数据,进行抽取、转换和装载,按照主题进行组织数据。
  • OLAP服务器:OLAP服务器对需要分析的数据按照多维数据模型进行重组,以支持用户随时进行多角度、多层次的分析,并发现数据规律和趋势。
  • 前端工具:前端工具主要包含各种数据分析工具、报表工具、查询工具、数据挖掘工具以及各种基于数据仓库或数据集市开发的应用。

🕘 1.3 数据仓库的数据模型

数据模型(Data Model)是数据特征的抽象,在数据仓库建设中,一般围绕星型模型和雪花模型来设计数据模型。

星型模型是以一个事实表和一组维度表组合而成,并以事实表为中心,所有维度表直接与事实表相连。

在这里插入图片描述

雪花模型是当有一个或多个维表没有直接连到事实表上,而是通过其他维表连到事实表上,其图解像多个雪花连在一起,故称雪花模型。雪花模型是对星型模型的扩展,原有的各维表可被扩展为小的事实表,形成一些局部的 "层次 " 区域,被分解的表都连主维度表而不是事实表。

在这里插入图片描述

🕒 2. Hive简介

🕘 2.1 什么是Hive

Hive是建立在Hadoop文件系统上的数据仓库,它提供了一系列工具,能够对存储在HDFS中的数据进行数据提取、转换和加载(ETL),这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的工具。Hive定义简单的类SQL查询语言(即HQL),可以将结构化的数据文件映射为一张数据表,允许熟悉SQL的用户查询数据,允许熟悉MapReduce的开发者开发mapper和reducer来处理复杂的分析工作,与MapReduce相比较,Hive更具有优势。

Hive采用了SQL的查询语言HQL,因此很容易将Hive理解为数据库。其实从结构上来看,Hive和数据库除了拥有类似的查询语言,再无类似之处,MySQL与Hive对比如下所示。

对比项HiveMySQL
查询语言Hive QLSQL
数据存储位置HDFS块设备、本地文件系统
数据格式用户定义系统决定
数据更新不支持支持
事务不支持支持
执行延迟高低
可扩展性高低
数据规模大小

🕘 2.2 Hive系统架构

Hive是底层封装了Hadoop的数据仓库处理工具,运行在Hadoop基础上,其系统架构组成主要包含4部分,分别是用户接口、跨语言服务、底层驱动引擎及元数据存储系统。

在这里插入图片描述

🕘 2.3 Hive工作原理

Hive建立在Hadoop系统之上,因此Hive底层工作依赖于Hadoop服务,Hive底层工作原理如下所示。

在这里插入图片描述
(1) CLI将用户提交的HiveQL语句发送给DRIVER。
(2) DRIVER将HiveQL语句发送给COMPILER获取执行计划。
(3) COMPILER从METASTORE获取HiveQL语句所需的元数据。
(4) METASTORE将查询到的元数据信息发送给COMPILER。
(5) COMPILER得到元数据后,首先将HiveQL语句转换为抽象语法树,然后将抽象语法树转换为查询块,接着将查询块转换为逻辑执行计划,最后将逻辑执行计划转换为物理执行计划,并将物理执行计划解析为MapReduce任务发送给DRIVER。
(6) DRIVER将MapReduce任务发送给EXECUTION ENGINE(执行引擎)执行。
(7) CLI向DRIVER发送获取HiveQL语句执行结果的请求。
(8) DRIVER与EXECUTION ENGINE进行通信,请求获取HiveQL语句执行结果的请求。
(9) EXECUTION ENGINE向NameNode发送请求获取HiveQL语句执行结果的请求。

🕘 2.4 Hive数据模型

Hive中所有的数据都存储在HDFS中,它包含数据库(Database)、表(Table)、分区表(Partition)和桶表(Bucket)四种数据类型。
在这里插入图片描述

  • 数据库:数据库用于存储与同一业务相关的一组表,可以有效隔离不同业务的表。
  • 表:表是数据库中用来存储数据的对象,对象以二维表格的形式组织数据。Hive中的表分为内部表和外部表这两种类型。
  • 分区:根据分区规则将表的整体数据划分为多个独立的数据进行存储,每个独立的数据看做是一个分区,每个分区存储在HDFS文件系统的不同目录中。
  • 桶:根据指定分桶规则将表的数据随机、均匀的划分到不同的桶进行存储,每个桶存储在HDFS文件系统的不同文件中。

🕒 3. Hive环境搭建

🕘 3.1 Hive的安装

Hive的安装模式分为三种,分别是嵌入模式、本地模式和远程模式。

  1. 嵌入模式
    使用内嵌Derby数据库存储元数据,这是Hive的默认安装方式,配置简单,但是一次只能连接一个客户端,适合用来测试,不适合生产环境。
  2. 本地模式
    采用外部数据库存储元数据,该模式不需要单独开启Metastore服务,因为本地模式使用的是和Hive在同一个进程中的Metastore服务。
  3. 远程模式
    与本地模式一样,远程模式也是采用外部数据库存储元数据。不同的是,远程模式需要单独开启Metastore服务,然后每个客户端都在配置文件中配置连接该Metastore服务。远程模式中,Metastore服务和Hive运行在不同的进程中。

本文采用本地模式配置:

1、下载并解压Hive安装包

🔎 Hive下载官网

在这里插入图片描述

在这里插入图片描述

sudo tar -zxvf ./apache-hive-3.1.3-bin.tar.gz -C /usr/local   # 解压到/usr/local中
cd /usr/local/
sudo mv apache-hive-3.1.3-bin hive       # 将文件夹名改为hive
sudo chown -R hadoop:hadoop hive            # 修改文件权限

2、配置环境变量

vim ~/.bashrc

在该文件最前面一行添加如下内容:

export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
export HADOOP_HOME=/usr/local/hadoop

HADOOP_HOME需要被配置成你机器上Hadoop的安装路径,比如这里是安装在/usr/local/hadoop目录。

保存退出后,运行如下命令使配置立即生效:

source ~/.bashrc

3、修改/usr/local/hive/conf下的hive-site.xml
执行如下命令:

cd /usr/local/hive/conf
mv hive-default.xml.template hive-default.xml

然后,使用vim编辑器新建一个配置文件hive-site.xml,命令如下:

cd /usr/local/hive/conf
vim hive-site.xml

在hive-site.xml中添加如下配置信息:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;allowPublicKeyRetrieval=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.cj.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hive</value>
    <description>username to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>hive</value>
    <description>password to use against metastore database</description>
  </property>
</configuration>

🕘 3.2 安装并配置mysql

这里我们采用MySQL数据库保存Hive的元数据,而不是采用Hive自带的derby来存储元数据。

使用以下命令即可进行mysql安装,注意安装前先更新一下软件源以获得最新版本:

sudo apt-get update  #更新软件源
sudo apt-get install mysql-server  #安装mysql

上述命令会安装以下包:
libaio1 libcgi-fast-perl libcgi-pm-perl libevent-core-2.1-7
libevent-pthreads-2.1-7 libfcgi-bin libfcgi-perl libfcgi0ldbl
libhtml-template-perl libmecab2 libprotobuf-lite23 mecab-ipadic
mecab-ipadic-utf8 mecab-utils mysql-client-8.0
mysql-client-core-8.0 mysql-common mysql-server mysql-server-8.0
mysql-server-core-8.0

因此无需再安装mysql-client等。安装过程会提示设置mysql root用户的密码,设置完成后等待自动安装即可。默认安装完成就启动了mysql。

启动服务器:

service mysql start

确认是否启动成功,mysql节点处于LISTEN状态表示启动成功:

sudo netstat -tap | grep mysql

在这里插入图片描述

进入mysql shell界面:

mysql -u root -p

注:在新版Ubuntu下安装 MySQL8.0 之后没有提示输入初始密码从而导致无法进入mysql root账户,解决方案如下:

执行下面命令,查看user和password

sudo cat /etc/mysql/debian.cnf

在这里插入图片描述

执行下面命令,登录MySQL

mysql -u debian-sys-maint -p

在这里插入图片描述

执行下面SQL命令

use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1111';
quit;

在这里插入图片描述

之后重启MySQL,以root登录,密码就是我们之前设的,这里是1111

sudo service mysql restart
mysql -u root -p

在这里插入图片描述

成功以root身份进入mysql shell界面。

检查一个MySQL的编码设置(一般没问题, 是utf8就正常,utf8mb4是utf8的超集)

在这里插入图片描述

退出和关闭mysql服务器:

mysql> quit;
service mysql stop

🕘 3.3 配置MySQL JDBC

下载MySQL JDBC连接驱动JAR包

🔎 JDBC官网

在这里插入图片描述

sudo tar -zxvf mysql-connector-j-8.3.0.tar.gz   #解压
cp mysql-connector-j-8.3.0/mysql-connector-j-8.3.0.jar  /usr/local/hive/lib 	
# 将mysql-connector-j-8.3.0.jar拷贝到/usr/local/hive/lib目录下

启动并登陆MySQL Shell:

service mysql start 
mysql -u root -p  

🕘 3.4 配置Hive

新建hive数据库:

mysql> create database hive;    # 这个hive数据库与hive-site.xml中localhost:3306/hive的hive对应,两者名称必须一致,用来保存hive元数据

配置MySQL允许Hive接入:

# 创建hive用户
mysql> create user 'hive'@'localhost' identified by 'hive';
# 将所有数据库的所有表的所有权限赋给hive用户,后面的hive是配置hive-site.xml中配置的连接密码
mysql> grant all privileges on *.* to 'hive'@'localhost'; 
mysql> flush privileges;  # 刷新mysql系统权限关系表

升级元数据:
使用Hive自带的schematool工具升级元数据,也就是把最新的元数据重新写入MySQL数据库中。
可以在终端中执行如下命令

cd /usr/local/hive
./bin/schematool -initSchema -dbType mysql

在这里插入图片描述

🕘 3.5 启动Hive

启动hive之前,请先启动hadoop集群

start-dfs.sh  # 启动Hadoop的HDFS
hive   # 启动Hive

注意,如果没有配置PATH,需加上路径才能运行命令,比如,本文Hadoop安装目录是“/usr/local/hadoop”,Hive的安装目录是“/usr/local/hive”,因此,启动hadoop和hive,要使用下面带路径的方式:

cd /usr/local/hadoop #进入Hadoop安装目录
./sbin/start-dfs.sh
cd /usr/local/hive
./bin/hive

启动进入Hive的交互式执行环境以后,会出现如下命令提示符:

hive>

此时如遇到下图提示:
在这里插入图片描述

是报jar包冲突,进入hive的lib包下,删除log4j-slf4j-impl-2.17.1.jar即可。

在这里插入图片描述

可以在里面输入SQL语句,如果要退出Hive交互式执行环境,可以输入如下命令:

hive>exit;

🕒 4. Hive的常用HiveQL操作

🕘 4.1 Hive基本数据类型

Hive支持基本数据类型和复杂类型,基本数据类型主要有数值类型(INT、FLOAT、DOUBLE) 、布尔型和字符串,复杂类型有三种:ARRAY、MAP 和 STRUCT。

🕘 4.2 常用的HiveQL操作命令

Hive常用的HiveQL操作命令主要包括:数据定义、数据操作。

更多关于HiveQL的使用指南可查看林子雨老师的博客

🔎 Hive3.1.3安装和使用指南

🕒 5. 课后习题

一、填空题
1、Hive建表时设置分割字符命令__________
2、Hive查询语句select ceil(2.34)输出内容是______。
3、Hive创建桶表关键字_____,且Hive默认分桶数量是_______。

二、判断题
1、Hive使用length()函数可以求出输出的数量。
2、再创建外部表的同时要加载数据文件,数据文件会移动到数据仓库指定的目录下。
3、Hive是一款独立的数据仓库工具,因此在启动前无需启动任何服务。
4、Hive默认不支持动态分区功能,需要手动设置动态分区参数开启功能。
5、Hive分区字段不能与已存在字段重复,且分区字段是一个虚拟的字段,它不存放任何数据,该数据来源于装载分区表时所指定的数据文。

三、选择题
1、Hive是建立在()之上的一个数据仓库
A、HDFS
B、MapReduce
C、Hadoop
D、HBase
2、Hive查询语言和SQL的一个不同之处在于()操作
A、Group by
B、Join
C、Partition
D、Union
3、Hive最重视的性能是可测量性、延展性、()和对于输入格式的宽松匹配性
A、较低恢复性
B、容错性
C、快速查询
D、可处理大量数据
4、以下选项中,哪种类型间的转换是被Hive查询语言所支持的()
A、Double—Number
B、BigInt—Double
C、Int—BigInt
D、String–Double
5、按粒度大小的顺序,Hive数据被分为:数据库、数据表、()、桶?
A、元祖
B、栏
C、分区
D、行

四、简答题
1、简述Hive的特点是什么。
2、简述Hive中内部表与外部表区别。

五、编程题
1、创建字段为id、name的用户表,并且以性别gender为分区字段的分区表。


解答:
一、填空题
1、row format delimited fields terminated by char
2、3
3、clustered by、-1

二、判断题(AI解析)

  1. 错误。Hive中的length()函数用于计算字符串的长度,而不是输出的数量。
  2. 错误。在创建外部表时加载数据文件,数据文件不会移动到数据仓库指定的目录下,而是保留在原来的位置。
  3. 错误。虽然Hive是一款数据仓库工具,但在启动Hive之前需要启动Hadoop服务,因为Hive运行在Hadoop之上。
  4. 正确。Hive默认不支持动态分区,需要通过设置参数hive.exec.dynamic.partition和hive.exec.dynamic.partition.mode来开启动态分区功能。
  5. 正确。Hive分区字段不能与已存在的字段重复,且分区字段是一个虚拟的字段,它不存放任何数据,该数据来源于装载分区表时所指定的数据值。

三、选择题
1、C 2、C 3、B 4、D 5、C

四、简答题
1、Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

2、创建表阶段:
外部表创建表的时候,不会移动数到数据仓库目录中(/user/hive/warehouse),只会记录表数据存放的路径,内部表会把数据复制或剪切到表的目录下。
删除表阶段:
外部表在删除表的时候只会删除表的元数据信息不会删除表数据,内部表删除时会将元数据信息和表数据同时删除。

五、编程题

create table t_user (id int, name string) 
partitioned by (gender string) 
row format delimited fields terminated by ',';

在这里插入图片描述

在这里插入图片描述


OK,以上就是本期知识点“Hive数据仓库”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误❌,欢迎批评指正呀👀~让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟~

❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页

《Hive系列》Hive详细入门教程 Hive简介Hive:由FaceBook开源用于解决海量结构化日志的数据统计工具Hive:基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL的查询功能。Hive本质将HSQL转化成MapReduce程序Hive处理的数据存储在HDFSHive分析数据底层实现的是MR执行程序运行在Yarn上​ 窗口函数又叫做开创函数,他是一种分析的函数,专门可以解决报表类型的需求分析。他专门用于计算基于组的某种聚合。对于每个组返回返回是多行,也就是聚合函数的分组只有显示一行。 阅读详情

相关推荐

学习笔记 - Hadoop-Hive 介绍

学习笔记 - Hadoop-Hive 介绍 1 背景 当前用户数据都是以“亿”为单位进行考量,传统数据库无法满足快速增长的海量数据存储需求,其计算和处理能力也大大不足。数据仓库有分布式存储与处理能力,将各种数据源整合集成到统一的数据中心,防止数据在传递过程中格式参差不齐,解决数据壁垒。常见的数据仓库产品如下: 后面的学习主要还是围绕Hadoop生态圈-hive。数据量越大,其价值力度越低,要从海量的数据中挖掘出有效信息,正是数据分析师的价值所在。 2 Hadoop 2.1 分布式存储HDFS 作用:将文件

thatdanielyang的博客 874

Hive教程(一) Hive入门教程

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据。它架构在Hadoop之上,总归为大数据,并使得查询和分析方便。 在Hive中,Hive是SQL解析引擎,它将SQL语句转译成M/R

yuan_xw的专栏 10万+

[完]基于Hadoop的数据仓库Hive 基础知识

Hive是基于Hadoop的数据仓库工具,可对存储在HDFS上的文件中的数据集进行数据整理、特殊查询和分析处理,提供了类似于SQL语言的查询语言–HiveQL,可通过HQL语句实现简单的MR统计,Hive将HQL语句转换成MR任务进行执行。一、概述1-1 数据仓库概念数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定

无名的博客 2万+

Hive 教程(官方Tutorial)

Hive是一个基于Apache Hadoop的数据仓库。对于数据存储与处理,Hadoop提供了主要的扩展和容错能力。 Hive设计的初衷是:对于大量的数据,使得数据汇总,查询和分析更加简单。它提供了SQL,允许用户更加简单地进行查询,汇总和数据分析。同时,Hive的SQL给予了用户多种方式来集成自己的功能,然后做定制化的查询,例如用户自定义函数(User Defined Functions,UDFs).

strongyoung的专栏 8万+

数据仓库中Hive、Mysql、Hadoop之间的关联

1. Hive 与 HDFS 之间的联系 (1)hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的 sql 查询功能,可以将 sql 语句转换为 MapReduce 任务进行运行。其优点是学习成本低,可以通过类 SQL 语句快速实现简单的 MapReduce 统计,不必开发专门的 MapReduce 应用,十分适合数据仓库的统计分析。 (...

qq_32572085的博客 3097

基于Hadoop的数据仓库Hive 基础知识

Hive是基于Hadoop的数据仓库工具,可对存储在HDFS上的文件中的数据集进行数据整理、特殊查询和分析处理,提供了类似于SQL语言的查询语言–HiveQL,可通过HQL语句实现简单的MR统计,Hive将HQL语句转换成MR任务进行执行。 一、概述 1-1 数据仓库概念 数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrate...

yoooooooooooooop的博客 1646

Alex 的 Hadoop 菜鸟教程: 第10课 Hive 安装和使用教程

Hive 提供了一个让大家可以使用sql去查询数据的途径。让大家可以在hadoop上写sql语句。但是最好不要拿Hive进行实时的查询。因为Hive的实现原理是把sql语句转化为多个Map Reduce任务所以Hive非常慢,官方文档说Hive 适用于高延时性的场景而且很费资源。

软件哲学 1万+

基于Hadoop的数据仓库Hive基础知识

目录 一、概述 1.1数据仓库概念 1.2传统数据仓库的问题 1.3 Hive 1.4 Hive与 Hadoop生态系统中其他组件的关系 1.5 Hive与传统数据库的对比 1.6 Hive的部署和应用 二、Hive系统架构 三、Hive工作原理 3.1 SQL 语句转换成 MapReduce 作业的基本原理 3.2 Hive中 SQL查询转换成 MR作...

给我一点温度 1252

大数据入门-大数据技术概述(一)

本文从基础到高级再到实战,由浅入深,把MySQL讲的清清楚楚,明明白白,这应该是我目前为止看到过最好的有关MySQL的学习笔记了,我相信如果你把这份笔记认真看完后,无论是工作中碰到的问题还是被面试官问到的问题都能迎刃而解!MySQL50道高频面试题整理:《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!看完后,无论是工作中碰到的问题还是被面试官问到的问题都能迎刃而解![外链图片转存中…(img-JNKknXB3-1712423630370)]

weixin_42179304的博客 902

Hadoop生态下的数据仓库利器:Hive实战详解

Hive是一个建立在Hadoop之上的数据仓库工具,它允许用户使用类似SQL的查询语言HiveQL来执行数据查询、分析和处理。Hive提供了简单的数据存储、查询和分析功能,尤其适合于存储大规模数据集并执行复杂分析。Hive使得熟悉SQL的用户可以不需要掌握Java编程,就能进行MapReduce任务的编写。它是数据仓库解决方案的一个重要组件,允许用户以批处理的方式处理存储在HDFS上的大量结构化数据。Hive的主要作用包括:- 提供SQL-like查询接口,简化了对大数据的分析。

weixin_28931507的博客 1130

基于近场动力学的二维疲劳裂纹扩展模型_近场动力学数值模拟的程序实现(1)——引言...

参考书目W. H. Gerstle. 2015. Introduction to Practical Peridynamic: Computational Solid Mechanics Without Stress and Strain.E.Madenci, A.Barut, M.Dorduncu. Peridynamic Differential Operator for Numerical ...

weixin_39764603的博客 1204

大数据技术之Hadoop学习(七)——Hive数据仓库

Hive数据仓库的认识与操作

weixin_63507910的博客 3195

【ERROR】ERROR1: PROJ: proj_create_from_database: Cannot find proj.db - 环境变量配置与路径修复指南

本文详细解析了地理空间数据处理中常见的【ERROR】ERROR1: PROJ: proj_create_from_database: Cannot find proj.db 错误。该错误的根源是PROJ库无法定位其核心数据文件proj.db。文章提供了从问题诊断到修复的完整指南,包括如何在不同系统(Windows/macOS/Linux)和安装方式(Conda/pip/源码编译)下找到正确的proj.db文件路径,并通过设置PROJ_LIB环境变量(临时、代码内或永久)彻底解决问题,同时给出了进阶排查技巧和

m2n3o4p5的博客 557

基于 Hadoop 生态圈的数据仓库实践 —— Hive

Hive 简介、初始装载、定期装载

wzy0623的专栏 2万+

ZYNQ实战:如何用AXI-stream FIFO解决跨时钟域数据同步难题(附完整代码)

本文深入探讨了在ZYNQ项目中,如何利用AXI-Stream FIFO有效解决PS与PL之间的跨时钟域数据同步难题。文章详细分析了异步FIFO的架构设计、关键配置参数,并提供了PS端软件策略与PL端逻辑设计的完整代码示例,旨在帮助开发者构建稳定可靠的数据流通道,优化系统性能。

nginx7reverse的博客 756

深入剖析 YOLOv11 中的 C2PSA 注意力机制

YOLOv11中的C2PSA注意力机制在目标检测领域取得突破性进展。该机制通过跨通道分组交互和轻量级位置编码,在仅增加0.6%计算量的情况下提升mAP 1.5-2.3个百分点。C2PSA创新性地结合局部跨通道交互、位置编码和双分支并行调制,采用纯卷积实现自注意力,避免传统注意力机制的高计算复杂度。实验表明,C2PSA在COCO数据集上以微小计算代价显著提升检测性能,特别是对小目标和遮挡目标效果突出。该模块可直接嵌入YOLO架构,为轻量级目标检测提供新的优化方向。

shrgegrb的博客 3401

大数据技术---数据仓库Hive

一、数据仓库Hive概述 1、数据仓库 数据仓库:是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。 根本目的:支持企业内部的商业分析和决策,基于数据仓库的分析结果,做出相关的经营决策。 2、数据仓库和传统数据库的区别? (1)数据仓库相对稳定 (2)传统数据库只能保留某一时刻的状态信息,数据仓库保留所有的历史数据,帮助企业构建经营分析系统。 (3)面临挑战:传统数据仓库无法满足快速增长的海量数据存储需求、无法有效处理不同类型的数据、计算和处理能力不足 3、Hive简介 Hiv

qq_43752469的博客 3361

MTK AWB 色温曲线的进一步猜想

平均距离来判断是否对该色温下白平衡进行全部收白处理,还是保留一些光源的本身的颜色。比如占据图像一大半左右的纯色背景,纵坐标值相对横坐标的距离应该会比较大,大于一般场景下的正常白点分布。反之,位于Plank_curve下方位置的点具有偏洋红色的倾向。此时拟合各个色温下的白点,拟合曲线大致是以X= 0.85)平行于横轴的一条直线。对原始坐标系中的点取对数后的Log坐标系空间。此时拟合各个色温下的白点,拟合曲线大致呈现的是一条直线。,可以认为是各种色温下白点分布所呈现的走向。的算法利用某个色温点的偏离。

大熊 725

spark、hive、hbase以及和Hadoop的关系

本文转自:https://www.cnblogs.com/wangyalou/p/9532347.html 首先我们来看一下spark究竟是什么。相信很多读者跟我一样,听说过hadoop,也知道spark,更知道spark是现在最火的大数据技术,所以一直有一个疑问:spark是不是替代能够hadoop的下一代大数据技术?答案是:不是! 首先我们看看spark的官网介绍:Apache Spark is a fast and general-purpose cluster computing system.

强哥叨逼叨 8768

番外篇 | 关于YOLO11算法的改进点总结

关于YOLO11算法的改进点总结。🌈

小哥谈 2314

基于深度学习的水质预测:多参数监测与预测

在本篇博客中,我们详细介绍了如何使用深度学习技术处理水质预测问题,包括数据集的准备与预处理、多层感知机模型的构建、模型的训练与评估以及模型优化策略。我们使用 Python 语言基于 TensorFlow 和 Keras 框架实现了模型,并给出了各种模型优化方法及对应代码。通过实践,我们可以发现深度学习技术在水质预测方面具有很好的应用潜力。在实际应用中,我们还可以根据具体问题和数据集进一步调整和优化模型,以获得更好的预测性能。

斌擎科技 1081

数据仓库及应用(hive基础)

Database:数据库,在HDFS中为hive.metastore.warehouse.dir目录下的一个文件夹。Tables:表,表由列构成,在表上可以进行过滤、映射、连接和联合操作,在HDFS中为数据库目录下的子目录。Hive表分为内部表和外部表:内部表类似于RDBMS中的表,由Hive管理 外部表指向已经存在HDFS中的数据,外部表的真实数据不被Hive管理。Partitions 分区,每个表都可以按指定的键分为多个分区,作用是为了提高查询的效率,在HDFS中是表目录的子目录。

qq_62430919的博客 1889

Spring Boot Jar包加密实战:用ClassFinal与Jasypt打造代码安全堡垒

Spring Boot代码加密与配置保护方案 针对Spring Boot项目源码和配置易被反编译的风险,本文提出ClassFinal字节码加密+Jasypt配置加密的组合方案。ClassFinal通过Maven插件对核心代码加密,运行时需JavaAgent加载,反编译后仅保留空方法体;Jasypt则采用强加密算法保护敏感配置。方案优势包括: 双重保护:ClassFinal加密业务逻辑,Jasypt加密数据库密码等配置 灵活部署:支持密码启动、机器绑定等安全策略 平滑集成:兼容Spring生态,动态解密结合配

墨夶的博客 1092

Hive数据仓库工具

Apache Hive是基于Hadoop的数据仓库工具,提供类SQL查询接口(HiveQL),将查询转换为MapReduce/Tez/Spark任务执行。核心特点包括:支持数据仓库功能、多种存储格式、UDF扩展,适合批处理但延迟较高。其架构包含HiveQL解析器、元数据存储(Metastore)和执行引擎,数据存储在HDFS。Hive适合离线分析、ETL等场景,与Impala/SparkSQL相比查询延迟更高但集成性更好。随着版本演进,执行引擎从MapReduce逐步转向Tez和Spark。优点在于SQL友

weixin_67868534的博客 1307

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Hive(基于 Hadoop 的数据仓库工具)

本文详细介绍了Apache Hive的安装配置与基础操作指南。主要内容包括:Hive依赖的环境准备(Hadoop、MySQL、Java),安装MySQL和Hive的具体步骤,配置Hive连接MySQL存储元数据的方法,以及初始化元数据的操作。文章还提供了Hive客户端启动、数据库/表创建、数据查询等基本操作示例,并介绍了分区表、外部表、分桶表等核心概念。最后涵盖高级功能(Beeline使用、计算引擎集成、ETL任务)和性能优化技巧,为大数据分析提供完整的技术支持方案。

ctlongs的博客 1602

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

上一篇: 【软件工程导论】——Visio与StarUML的安装
下一篇: 【软件工程导论】——面向对象与UML(学习笔记)
HinsCoder
博客等级 码龄5年 1万+粉丝 220原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值