hive2

这篇具有很好参考价值的文章主要介绍了hive2。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

JDBC六步
1注册驱动
2建立连接
3建立操作对象
4执行SQL
5处理查询结果集
6关闭资源


import java.sql.*;

public class JdbcExample {
    public static void main(String[] args) {
        try {
            // 加载数据库驱动程序
            Class.forName("com.mysql.cj.jdbc.Driver");

            // 建立连接
            Connection connection = DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/yourdatabase", "username", "password");

            // 创建Statement对象
            Statement statement = connection.createStatement();

            // 执行查询
            ResultSet resultSet = statement.executeQuery("SELECT * FROM yourtable");

            // 处理查询结果
            while (resultSet.next()) {
                System.out.println(resultSet.getString("column1") + ", " +
                                   resultSet.getString("column2"));
            }

            // 关闭资源
            resultSet.close();
            statement.close();
            connection.close();
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
    }
}

建表语句是在往MySQL写元数据,主要是一个映射关系

mysql支持多客户端访问

shell编程
0标准输入(键盘)
1标准输出
2错误输出

count(*)不走mr,所以可能查询后是0
insert命令改变元数据和数据
put仅仅改变数据
load(比put多修改一个元数据)只改变一个,numFiles0->1,numRows0

可以使用 CAST 操作显示进行数据类型转换
例如 CAST(‘1’ AS INT)将把字符串’1’ 转换成整数 1;如果强制类型转换失败,如执行
CAST(‘X’ AS INT),表达式返回空值 NULL。

字段解释:
row format delimited fields terminated by ‘,’ – 列分隔符
collection items terminated by ‘_’ --MAP STRUCT 和 ARRAY 的分隔符(数据分割符号)
map keys terminated by ‘:’ – MAP 中的 key 与 value 的分隔符
lines terminated by ‘\n’; – 行分隔符
hive2,hive

hive2,hive
DDL 数据定义
创建数据库
CREATE DATABASE [IF NOT EXISTS] database_name
[COMMENT database_comment]
[LOCATION hdfs_path]
[WITH DBPROPERTIES (property_name=property_value, …)];

1)显示数据库
hive> show databases;
2)过滤显示查询的数据库
hive> show databases like ‘db_hive*’;
OK
db_hive
db_hive_1

显示数据库信息
hive> desc database db_hive;

显示数据库详细信息,extended
hive> desc database extended db_hive;

切换当前数据库
hive (default)> use db_hive;

删除空数据库
hive>drop database db_hive2;

如果数据库不为空,可以采用 cascade 命令,强制删除

hive> drop database db_hive cascade;

字段解释说明
(1)CREATE TABLE 创建一个指定名字的表。如果相同名字的表已经存在,则抛出异常;
用户可以用 IF NOT EXISTS 选项来忽略这个异常。
(2)EXTERNAL 关键字可以让用户创建一个外部表,在建表的同时可以指定一个指向实
际数据的路径(LOCATION),在删除表的时候,内部表的元数据和数据会被一起删除,而外
部表只删除元数据,不删除数据。
(3)COMMENT:为表和列添加注释。
(4)PARTITIONED BY 创建分区表
(5)CLUSTERED BY 创建分桶表
(6)SORTED BY 不常用,对桶中的一个或多个列另外排序
(7)ROW FORMAT
DELIMITED [FIELDS TERMINATED BY char] [COLLECTION ITEMS TERMINATED BY char]
[MAP KEYS TERMINATED BY char] [LINES TERMINATED BY char]
| SERDE serde_name [WITH SERDEPROPERTIES (property_name=property_value,
property_name=property_value, …)]
用户在建表的时候可以自定义 SerDe 或者使用自带的 SerDe。如果没有指定 ROW
FORMAT 或者 ROW FORMAT DELIMITED,将会使用自带的 SerDe。在建表的时候,用户还需
要为表指定列,用户在指定表的列的同时也会指定自定义的 SerDe,Hive 通过 SerDe 确定表
的具体的列的数据。
SerDe 是 Serialize/Deserilize 的简称, hive 使用 Serde 进行行对象的序列与反序列化。
(8)STORED AS 指定存储文件类型
常用的存储文件类型:SEQUENCEFILE(二进制序列文件)、TEXTFILE(文本)、RCFILE(列
式存储格式文件)
如果文件数据是纯文本,可以使用STORED AS TEXTFILE。如果数据需要压缩,使用 STORED
AS SEQUENCEFILE。
(9)LOCATION :指定表在 HDFS 上的存储位置。
(10)AS:后跟查询语句,根据查询结果创建表。
(11)LIKE 允许用户复制现有的表结构,但是不复制数据。

外部表,Hive 并非认为其完全拥有这份数据。删除该表并不会删除掉这
份数据,不过描述表的元数据信息会被删除掉。

管理表与外部表的互相转换
(1)查询表的类型
hive (default)> desc formatted student2;
Table Type: MANAGED_TABLE
(2)修改内部表 student2 为外部表
alter table student2 set tblproperties(‘EXTERNAL’=‘TRUE’);
(3)查询表的类型
hive (default)> desc formatted student2;
Table Type: EXTERNAL_TABLE
(4)修改外部表 student2 为内部表
alter table student2 set tblproperties(‘EXTERNAL’=‘FALSE’);
(5)查询表的类型
hive (default)> desc formatted student2;
Table Type: MANAGED_TABLE
注意:(‘EXTERNAL’=‘TRUE’)和(‘EXTERNAL’=‘FALSE’)为固定写法,区分大小写!

DML 数据操作
向表中装载数据(Load)
1)语法
hive> load data [local] inpath ‘数据的 path’ [overwrite] into table
student [partition (partcol1=val1,…)];
(1)load data:表示加载数据
(2)local:表示从本地加载数据到 hive 表;否则从 HDFS 加载数据到 hive 表
(3)inpath:表示加载数据的路径
(4)overwrite:表示覆盖表中已有数据,否则表示追加
(5)into table:表示加载到哪张表
(6)student:表示具体的表
(7)partition:表示上传到指定分区文章来源地址https://www.toymoban.com/news/detail-787182.html

到了这里,关于hive2的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Error: Could not open client transport with JDBC Uri: jdbc:hive2://hadoop102:10000: Failed to open..

    在hive目录下使用beeline命令:  具体的报错信息如下所示: 22/04/10 01:13:24 [main]: WARN jdbc.HiveConnection: Failed to connect to hadoop102:10000 Error: Could not open client transport with JDBC Uri: jdbc:hive2://hadoop102:10000: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hado

    2024年02月11日
    浏览(67)
  • Error: Could not open client transport with JDBC Uri: jdbc:hive2://解决连接beenline连接HiveServer2报错

    目录 一、错误现象 二、 解决方案 三、其他解决方式 背景:ranger 整合cdh后登陆HiveServer2测试 后台日志 Error: Could not open client transport with JDBC Uri: jdbc:hive2://hadoop105:10000: Failed to open new session: java.lang.IllegalArgumentException: Cannot modify hive.query.redaction.rules at runtime. It  is not in list of

    2024年02月12日
    浏览(46)
  • 出现Error: Could not open client transport with JDBC Uri: jdbc:hive2://node02:10000/;user=root:..怎么办?

    最近实现hive远程部署出现一些问题,用网上的方法修改Hadoop的core-site.xml还是连不上,出现的问题又变成了Connection Refused。用这篇文章记录一下我的解决方法。   一、问题描述          当使用beeline -u jdbv:hive2://主机名:10000 -n root -p时报了以下错误:  二、问题分析    

    2024年02月03日
    浏览(33)
  • Hive数据库系列--Hive文件格式/Hive存储格式/Hive压缩格式

    本篇主要讲解一下Hive的文件格式,官方文档见《 https://cwiki.apache.org/confluence/display/Hive/FileFormats》、《 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-StorageFormatsStorageFormatsRowFormat,StorageFormat,andSerDe》 HIve的文件存储格式常见的有四种:textfile 、sequencefile、or

    2024年01月22日
    浏览(41)
  • Hive Sql 大全(hive函数,hive表)

    本节基本涵盖了Hive日常使用的所有SQL,因为SQL太多,所以将SQL进行了如下分类: 一、DDL语句(数据定义语句): 对数据库的操作:包含创建、修改数据库 对数据表的操作:分为内部表及外部表,分区表和分桶表 二、DQL语句(数据查询语句): 单表查询、关联查询 hive函数

    2024年02月19日
    浏览(49)
  • 【hive-design】hive架构详解:描述了hive架构,hive主要组件的作用、hsql在hive执行过程中的底层细节、hive各组件作用

    本文主要讨论了 描述了hive架构,hive主要组件的作用 详细描述了hsql在hive执行过程中的底层细节 描述了hive各组件作用 架构图: 如上图表达了hive的主要组件和以及与hadoop的交互: 主要的hive组件: UI :用户提交接口,用于用户提交查询和其他操作等。 Driver :接收查询的组件

    2024年02月04日
    浏览(43)
  • Hive性能调优:Hive优化技术以及Hive集群规划

    作者:禅与计算机程序设计艺术 Apache Hive是一个开源的分布式数据仓库软件,可以用来进行数据提取、转换、加载(ETL)、查询等功能。作为Hadoop生态系统的一员,Hive具有强大的分析能力、灵活的数据定义、数据处理、数据分析和可扩展性,是一个理想的企业级数据仓库解决

    2024年02月06日
    浏览(46)
  • 【运维】hive 高可用详解: Hive MetaStore HA、hive server HA原理详解;hive高可用实现

    Hive元数据存储在MetaStore中,包括表的定义、分区、表的属性等信息。 hive metastore 配置多台,可以避免单节点故障导致整个集群的hive client不可用。 原理如下: Active-active mode is not supported for Hive Metastore. Hence, there is one active instance of the Hive Metastore service at any given point in time.

    2024年02月02日
    浏览(42)
  • Hive---Hive语法(二)

    默认路径 /opt/soft/hive312/warehouse 可以使用hdfs dfs -put 上传 指定local 将在本地文件系统中查找文件路径 若指定相对路径,将相对于用户的当前工作目录进行解释 用户也可以为本地文件指定完整的URI-----例如:file://opt/file.txt 没有指定local 如果filepath指向的是一个完整的URI,会直接

    2023年04月08日
    浏览(21)
  • Hive(10):Hive分桶表

    1 分桶表的概念 分桶表也叫做桶表,叫法源自建表语法中bucket单词,是一种用于优化查询而设计的表类型。 分桶表对应的数据文件在底层会被分解为若干个部分,通俗来说就是被拆分成若干个独立的小文件。 在分桶时,要指定根据哪个字段将数据分为几桶(几个部分)。

    2024年02月11日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包