Hive SchemaTool 命令详解

Hive schematool 是 hive 自带的管理 schema 的相关工具。

列出详细说明

schematool -help

直接输入 schematool 或者schematool -help 输出结果如下:

usage: schemaTool-alterCatalog <arg>                Alter a catalog, requires--catalogLocation and/or--catalogDescription parameter as well-catalogDescription <arg>          Description of new catalog-catalogLocation <arg>             Location of new catalog, required whenadding a catalog-createCatalog <arg>               Create a catalog, requires--catalogLocation parameter as well-dbOpts <databaseOpts>             Backend DB specific options-dbType <databaseType>             Metastore database type-driver <driver>                   driver name for connection-dryRun                            list SQL scripts (no execute)-fromCatalog <arg>                 Catalog a moving database or table iscoming from.  This is required if youare moving a database or table.-fromDatabase <arg>                Database a moving table is comingfrom.  This is required if you aremoving a table.-help                              print this message-ifNotExists                       If passed then it is not an error tocreate an existing catalog-info                              Show config and schema details-initSchema                        Schema initialization-initSchemaTo <initTo>             Schema initialization to a version-metaDbType <metaDatabaseType>     Used only if upgrading the systemcatalog for hive-moveDatabase <arg>                Move a database between catalogs.Argument is the database name.Requires --fromCatalog and --toCatalogparameters as well-moveTable <arg>                   Move a table to a different database.Argument is the table name. Requires--fromCatalog, --toCatalog,--fromDatabase, and --toDatabaseparameters as well.-passWord <password>               Override config file password-servers <serverList>              a comma-separated list of servers usedin location validation in the formatof scheme://authority (e.g.hdfs://localhost:8000)-toCatalog <arg>                   Catalog a moving database or table isgoing to.  This is required if you aremoving a database or table.-toDatabase <arg>                  Database a moving table is going to.This is required if you are moving atable.-upgradeSchema                     Schema upgrade-upgradeSchemaFrom <upgradeFrom>   Schema upgrade from a version-url <url>                         connection url to the database-userName <user>                   Override config file user name-validate                          Validate the database-verbose                           only print SQL statements

命令选项

-dbType

数据库类型,只支持以下几种。

derby|mysql|postgres|oracle|mssql

如列出当前 schema 的信息

schematool -dbType mysql -info

结果如下:

Metastore connection URL:	 jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8
Metastore Connection Driver :	 com.mysql.jdbc.Driver
Metastore connection User:	 hive
Hive distribution version:	 3.1.0
Metastore schema version:	 3.1.0
schemaTool completed

-driver

连接后台数据库的驱动类名称。

schematool -dbType mysql -driver com.mysql.jdbc.Driver -info 

-dryRun

仅仅列出要执行的SQL,不执行。

-passWord

覆盖 hive 配置中的 javax.jdo.option.ConnectionPassword参数。

-url

覆盖 hive 配置文件中的 javax.jdo.option.ConnectionURL 参数

schematool -dbType mysql -url 'jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8' -info

-userName

覆盖 hive 配置文件中的 javax.jdo.option.ConnectionUserName 参数

schematool -dbType mysql -userName hive -info

支持的命令

-info

列出当前元数据库信息

schematool -dbType mysql -info 

-help

列出所有支持的命令和选项

-initSchema

初始化 schema,如以下命令会在 mysql 数据库里创建 schema 相关的表和插入记录。mysql 的参数在hive-site.xml 或者 hivemetastore-site.xml 配置文件里。注意,连接的数据库要先建立,并且为空(没有任何表)。

schematool -dbType mysql -initSchema

-createCatalog

创建 catalog, 需要 --catalogLocation 参数。
可选参数 --catalogDescription desc
-ifNotExists ,仅不存在。

schematool -dbType mysql -createCatalog spark1 --catalogLocation '/user/spark/warehouse1' -catalogDescription 'spark description' -ifNotExists 
Create catalog spark at location /user/spark/warehouse
Metastore connection URL:	 jdbc:mysql://master-e812d44/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8
Metastore Connection Driver :	 com.mysql.jdbc.Driver
Metastore connection User:	 hive
schemaTool completed

-alterCatalog

可选参数 --catalogLocation <location> 参数。
可选参数 --catalogDescription <description>

schematool -dbType mysql -alterCatalog spark1 --catalogLocation '/user/spark/warehouse' -catalogDescription 'spark description'

-initSchemaTo

初始化 schema 到指定的版本,如 2.3.0。

-metaDbType

仅仅在 -dbType hive 中使用,用于升级 hive 中的 system catalog。

-upgradeSchema

升级 schema。如之前 schema 是1.2.0,当前 hive为 3.1.0。

schematool -dbType mysql -upgradeSchema

-upgradeSchemaFrom

从指定的版本升级 schema.

-moveDatabase

移动数据库,需要 --fromCatalog--toCatalog 参数

schematool -dbType mysql \
-moveDatabase  test  \
--fromCatalog hive \
—toCatalog spark

-moveTable

移动数据库,需要 --fromCatalog--toCatalog--fromDatabase,--toDatabase参数

schematool -dbType mysql \
-moveTable  t1  \
--fromCatalog hive \
—toCatalog spark \
--fromDatabase test \
--toDatabase dbw 

-validate

验证当前元数据库是否正常。

schematool -dbType mysql -validate

输出结果:

Starting metastore validationValidating schema version
Succeeded in schema version validation.
[SUCCESS]Validating sequence number for SEQUENCE_TABLE
Succeeded in sequence number validation for SEQUENCE_TABLE.
[SUCCESS]Validating metastore schema tables
Succeeded in schema table validation.
[SUCCESS]Validating DFS locations
Succeeded in DFS location validation.
[SUCCESS]Validating columns for incorrect NULL values.
Succeeded in column validation for incorrect NULL values.
[SUCCESS]Done with metastore validation: [SUCCESS]
schemaTool completed

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/798961.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【云开发笔记NO.25】缓存和技术中台

在云开发领域中&#xff0c;缓存技术是一项至关重要的技术&#xff0c;它具有多个特征和广泛的应用。缓存技术的核心原理是将经常访问或需要快速响应的数据存储在更接近用户或请求源的地方&#xff0c;以便能够更快地提供这些数据&#xff0c;减少对原始数据源&#xff08;如数…

【C#】读取指定XML节点

&#x1f4f0;XML文件 <?xml version"1.0" encoding"utf-8"?> <configuration><userSettings><Internal.Settings type"Desktop"><setting name"StatsDisplayCount" serializeAs"String">…

【算法基础】基于异或的排序、基于异或的经典面试题

文章目录 1. 传统交换2. 异或与异或的规律3. 基于异或的排序4. 需要注意的地方5. 经典面试题15.1 题目5.2 思路5.3 实现 6. 经典面试题26.1 题目6.2 思路6.3 实现 1. 传统交换 传统交换方法如下&#xff1a; def swap(i, j):tmp ii jj tmp通过开辟一个额外的变量空间&…

海量智库 | ANY权限原理介绍

ANY权限是Vastbase中的一种特殊的管理权限&#xff0c;用户能够通过ANY权限执行更广泛的操作&#xff0c;更加便利的管理数据库。 本文将为您介绍ANY权限管理的相关原理。 ANY权限管理相关解释 ANY权限管理&#xff0c;是对数据库内的某一类对象的所有实体进行特定的权限管理…

SQLite 4.9的 OS 接口或“VFS”(十三)

返回&#xff1a;SQLite—系列文章目录 上一篇:SQLite字节码引擎&#xff08;十二&#xff09; 下一篇:SQLite 4.9的虚拟表机制(十四) 1. 引言 本文介绍了 SQLite OS 可移植性层或“VFS” - 模块位于 SQLite 实现堆栈底部 提供跨操作系统的可移植性。 VFS是Virtual File…

TiDB 慢查询日志分析

导读 TiDB 中的慢查询日志是一项 关键的性能监控工具&#xff0c;其主要作用在于协助数据库管理员追踪执行时间较长的 SQL 查询语句。 通过记录那些超过设定阈值的查询&#xff0c;慢查询日志为性能优化提供了关键的线索&#xff0c;有助于发现潜在的性能瓶颈&#xff0c;优化…

libVLC 音频立体声模式切换

在libVLC中&#xff0c;可以使用libvlc_audio_set_channel函数来设置音频的立体声模式。这个函数允许选择不同的音频通道&#xff0c;例如立体声、左声道、右声道、环绕声等。 /*** Set current audio channel.** \param p_mi media player* \param channel the audio channel…

Java | Leetcode Java题解之第16题最接近的三数之和

题目&#xff1a; 题解&#xff1a; class Solution {public int threeSumClosest(int[] nums, int target) {Arrays.sort(nums);int n nums.length;int best 10000000;// 枚举 afor (int i 0; i < n; i) {// 保证和上一次枚举的元素不相等if (i > 0 && nums…

【精品整理】最新数据安全评估标准合集

最新数据安全评估标准合集&#xff0c;以下是资料的目录&#xff0c;共12份。如需下载&#xff0c;请前往星球查阅和获取&#xff1a;https://t.zsxq.com/18JrHhWtQ 1、网络安全标准实践指南 2、数据安全风险评估方法 3、个人信息安全影响评估指南 4、数据出境安全评估指南 5、…

HAL STM32 定时器PWM DMA输出方式

HAL STM32 定时器PWM DMA输出方式 &#x1f9e8;遗留问题&#xff1a;当配置RCR重复计数器&#xff0c;配置为2时&#xff0c;在定义了3组PWM参数情况下&#xff0c;只能输出第二组参数的PWM波形。&#xff08;HAL_TIM_PWM_Start_DMA(&htim1, TIM_CHANNEL_1, aCCValue_Buff…

模块化——如何导入模块?(内置模块与自定义模块)

在Node.js中&#xff0c;要导入另一个模块&#xff0c;我们可以使用require函数。这个函数接受一个文件路径参数&#xff0c;并返回导入的模块。 一、require使用注意事项&#xff1a; (1)自己创建的模块&#xff0c;导入时建议写相对路径&#xff0c;不能省略./和../ //我把…

golang web 开发 —— gin 框架 (gorm 链接 mysql)

目录 1. 介绍 2. 环境 3. gin 3.1 gin提供的常见路由 3.2 gin的分组 main.go router.go 代码结构 3.3 gin 提供的Json方法 main.go route.go common.go user.go order.go 3.4 gin框架下如何获取传递来的参数 第一种是GET请求后面直接 /拼上传递的参数 第二种是…

【Lavavel框架】——各目录作用的介绍

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

深入理解C语言:函数栈帧的秘密

文章目录 深入理解C语言&#xff1a;函数栈帧的秘密什么是栈帧&#xff08;Stack Frame&#xff09;&#xff1f;栈帧的创建栈帧的销毁栈帧调试栈帧的工作原理栈帧的实际例子结论 深入理解C语言&#xff1a;函数栈帧的秘密 在软件开发的世界里&#xff0c;函数是构建程序的基本…

css anminate 加载中三个点点动态出现

期待效果&#xff1a; 核心代码&#xff1a; css3 anminate方法 //html <div>加载中<span id"dot">...</span></div>//css <style>   #dot {display: inline-block;width: 1.5em;vertical-align: bottom;overflow: hidden;animati…

NLopt

非线性优化–NLopt (nonlinear optimization)是一个免费的开源的库&#xff0c;提供了很多种非线性优化算的使用接口。 1、其中非常大的优势就是提供多种支持的语言&#xff0c;包括C/ C/ Julia/ Python/ R/ Fortran/ Lua/ OCaml/ Octave等都支持 1. 区别 **COBYLA&#xff0…

MacOS 升级14.4.1后vscode无法远程连接

今天上班第一天&#xff0c;开始提示MacOS可以升级&#xff0c;顺手就点击了升级重启&#xff0c;版本显示 14.4.1 (23E224) 同时今天vscode升级到了1.88 此时大多数的VSCODE远程服务器无法连接&#xff0c;不管用不用VPN都不可以&#xff0c;报错大致包括如下信息 hostname …

xilinx 7系列fpga上电配置

一、前言 Xilinx FPGA通过加载比特流到内部存储单元来进行配置。 Xilinx FPGA存在两种数据配置路径&#xff0c;一种是满足最小引脚需求的串行路径&#xff0c;一种是可用8位、16位或32位来连接到行业的高性能通用接口&#xff0c;如处理器&#xff0c;8位或者16位并行的闪存…

在linux服务器上安装anaconda

遇到问题&#xff1a; 在linux服务器中查看当前有哪些虚拟环境&#xff0c;conda环境用不了&#xff0c;anaconda没有安装&#xff0c;所以要在linux服务器中安装虚拟环境 解决步骤如下&#xff1a; 1.首先下载anaconda的Linux版本的安装包 方法1&#xff1a;官网下载&#…

推荐一个好用的数据库映射架构

SqlSugar ORM 优点: SqlSugar 是 .NET 开源 ORM 框架,由 Fructose 大数据技术团队维护和更新,是开箱即用最易用的 ORM 优点: 【低代码】【高性能】【超简单】【功能综合】【多数据库兼容】【适用产品】 支持 .NET .NET framework.net core3.1.ne5.net6.net7.net8 .net…