当前位置:首页 » 数据仓库 » hive使用数据库use
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

hive使用数据库use

发布时间: 2023-05-23 21:08:18

A. 在hive数据库中怎么查看表结构

查看表结构信息如下

1、descformattedtable_name;

2、desctable_name。

B. spark、hive、impala、hdfs的常用命令

对spark、hive、impala、hdfs的常用命令作了如下总结,欢迎大家补充! 1. Spark的使用: 以通过SecureCRT访问IP地址:10.10.234.198 为例进行说明: 先输入:ll //查询集群是否装有spark >su - mr >/home/mr/spark/bin/beeline -u "jdbc:hive2:/bigdata198:18000/" -n mr -p "" >.show databases; //显示其中数据库,例如 >use bigmax; //使用数据库bigmax >show tables; //查询目录中所有的表 >desc formatted TableName; //显示表的详细信息,包括分区、字段、地址等信息 >desc TableName; //显示表中的字段和分区信息 >select count(*) from TableName; //显示表中数据数量,可以用来判断表是否为空 >drop table TableName; //删除表的信息 >drop bigmax //删除数据库bigmax >describe database zxvmax //查询数据库zxvmax信息 创建一个表 第一步: >create external table if not exists lte_Amaze //创建一个叫lte_Amaze的表 ( //括号中每一行为表中的各个字段的名称和其所属的数据类型,并用空格隔开 DateTime String, MilliSec int, Network int, eNodeBID int, CID int, IMSI String, DataType int, AoA int, ServerRsrp int, ServerRsrq int, TA int, Cqi0 Tinyint, Cqi1 Tinyint //注意,最后一个字段结束后,没有逗号 ) partitioned by (p_date string, p_hour INT) //以p_date和p_hour作为分区 row format delimited fields terminated by ',' /*/*表中行结构是以逗号作为分隔符,与上边的表中字段以逗号结尾相一致*/ stored as textfile; //以文本格式进行保存 第二步:添加分区,指定分区的位置 >alter table lte_Amaze add partition (p_date='2015-01-27',p_hour=0) location'/lte/nds/mr/lte_nds_cdt_uedetail/p_date=2015-01-27/p_hour=0'; //添加lte_Amaze表中分区信息,进行赋值。 //并制定分区对应目录/lte/nds/mr下表lte_nds_cdt_uedetail中对应分区信息 第三步:察看添加的结果 >show partitions lte_Amaze; //显示表的分区信息 2. hdfs使用: #su - hdfs //切换到hdfs用户下 、 #hadoop fs –ls ///查看进程 # cd /hdfs/bin //进入hdfs安装bin目录 >hadoop fs -ls /umtsd/cdt/ //查询/umtsd/cdt/文件目录 >hadoop fs -mkdir /umtsd/test //在/umtsd目录下创建test目录 >hadoop fs -put /home/data/u1002.csv /impala/data/u5002 //将home/data/u1002.csv这个文件put到hdfs文件目录上。put到hdfs上的数据文件以逗号“,”分隔符文件(csv),数据不论类型,直接是数据,没有双引号和单引号 >hadoop fs -rm /umtsd/test/test.txt //删除umtsd/test目录下的test.txt文件 >hadoop fs -cat /umtsd/test/test.txt //查看umtsd/test目录下的test.txt文件内容3hive操作使用: #su - mr //切换到mr用户下 #hive //进入hive查询操作界面 hive>show tables; //查询当前创建的所有表 hive>show databases; //查询当前创建的数据库 hive>describe table_name; {或者desc table_name}//查看表的字段的定义和分区信息,有明确区分(impala下该命令把分区信息以字段的形式显示出来,不怎么好区分) hive> show partitions table_name; //查看表对应数据现有的分区信息,impala下没有该命令 hive> quit;//退出hive操作界面 hive>desc formatted table_name; 查看表结构,分隔符等信息 hive> alter table ceshi change id id int; 修改表的列数据类型 //将id数据类型修改为int 注意是两个id hive> SHOW TABLES '.*s'; 按正条件(正则表达式)显示表, [mr@aico ~]$ exit; 退出mr用户操作界面,到[root@aico]界面impala操作使用: #su - mr //切换到mr用户下 #cd impala/bin //进入impala安装bin目录 #/impala/bin> impala-shell.sh -i 10.10.234.166/localhost //进入impala查询操作界面 [10.10.234.166:21000] >show databases; //查询当前创建的数据库 [10.10.234.166:21000] >use database_name; //选择使用数据库,默认情况下是使用default数据库 [10.10.234.166:21000] > show tables; //查询当前数据库下创建的所有表 [10.10.234.166:21000] >describe table_name; //查看表的字段的定义,包括分区信息,没有明确区分 [10.10.234.166:21000] > describe formatted table_name; //查看表对应格式化信息,包括分区,所属数据库,创建用户,创建时间等详细信息。 [10.10.234.166:21000] >refresh table_name; //刷新一下,保证元数据是最新的 [10.10.234.166:21000] > alter TABLE U107 ADD PARTITION(reportDate="2013-09-27",rncid=487)LOCATION '/umts/cdt/ MREMITABLE/20130927/rncid=487' //添加分区信息,具体的表和数据的对应关系 [10.10.234.166:21000] > alter TABLE U100 drop PARTITION(reportDate="2013-09-25",rncid=487); //删除现有的分区,数据与表的关联 [10.10.234.166:21000] >quit; //退出impala操作界面[mr@aicod bin]$ impala-shell; 得到welcome impala的信息,进入impala 查询操作界面 [aicod:21000] > 按两次tab键,查看可以用的命令 alter describe help profile shell values connect drop history quit show version create exit insert select unset with desc explain load set use

C. 如何基于hive建立数据仓库

-创建数据库

create database if not exists sopdm

comment ‘this is test database’

with (‘creator’=’gxw’,’date’=’2014-11-12’)--数据库键值对属性信息

location ‘/my/preferred/directory’;

--查看数据库的描述信厅竖老息和文件目录位置路径信纤谨息

describe database sopdm;

--查看数据库的描述扮升信息和文件目录位置路径信息(加上数据库键值对的属性信息)

describe database extended sopdm;

D. 怎样查看hive建的外部表的数据库

1
进入HIVE之前要把HADOOP给启动起来,因为HIVE是基于HADOOP的。所有的MR计算都是在HADOOP上面进行的。
2
在命令行中输入:hive。这个时候就可以顺利的进入HIVE了。当然了,如果你想直接执行HQL脚本文件可以这样:hive
-f
xxxxx.hql。
3
进入hive之后一一般默认的数据库都是default。如果你切换数据库的话所建的表都会是在default数据库里面。
4
创建数据库的语法是:create
database
database_name;非常简单的,其实hive跟mysql的语法还是比较相似的。为什么呢?请继续往下
5
切换数据库的时候可以输入:use
database_name;
查看所有数据库的时候可以输入:show
databases;
查看所有表的时候可以输入:show
tables
6
看表结构的时候可以输入:describe
tab_name;

E. sql中use hive有什么意思

USE 将数据库上下文更改为指定数据库。
语法
USE { database }
参数 database数据库名
是用户上下文要切换到的数据库的名称。数据库名称必须符合标识符的规则。

通俗说就是:下面要使用hive数据库。

F. hadoop hive 使用什么数据库

hive支持多种数据库存放元数据derby|mysql|postgres|oracle,默认使用derby数据库。

G. 为什么使用HiveHive提供了什么Hive支持哪些用户

为什么使用Hive?
为什么使用Hive?那么,在哪里使用Hive呢?在载入了60亿行(经度、维度、时间、数据值、高度)数据集到MySQL后,系统崩溃了,并经历过数据丢失。这可能部分是因为我们最初的策略是将所有的数据都存储到单一的一张表中了。后来,我们调整了策略通过数据集和参数进行分表,这有所帮助但也因此引入了额外的消耗,而这并非是我们愿意接受的。
相反,我们决定尝试使用Apache Hive技术。我们安装了Hive 0.5 + 20,使用CDHv3和Apache Hadoop(0 20 2 + 320)。CDHv3还包含有许多其他相关工具,包括Sqoop和Hue这些在我们的架构中都标识出来了,如图23-3底部所示。
我们使用Apache Sqoop转储数据到Hive中,然后通过写一个Apache OODT包装器,来使Hive按照空间/时间约束查询数据,然后将结果提供给RCMET和其他用户(图23-2中间部分显示)。RCMES集群的完整的架构如图23- 3所示。我们有5台机器,包括图中所示的一个主/从配置,通过一个运行GigE的私人网进行连接。

Hive提供了什么
Photobucket公司使用Hive的主要目标是为业务功能、系统性能和用户行为提供答案。为了满足这些需求,我们每晚都要通过Flume从数百台服务器上的MySQL数据库中转储来自Web服务器和自定义格式日志TB级别的数据。这些数据有助于支持整个公司许多组织,比如行政管理、广告、客户支持、产品开发和操作,等等。对于历史数据,我们保持所有MySQL在每月的第一天创建的所有的数据作为分区数据并保留30天以上的日志文件。Photobucket使用一个定制的ETL框架来将MySQL数据库中数据迁移到Hive中。使用Flume将日志文件数据写入到HDFS中并按照预定的Hive流程进行处理。

Hive支持的用户有哪些
行政管理依赖于使用Hadoop提供一般业务健康状况的报告。Hive允许我们解析结构化数据库数据和非结构化的点击流数据,以及业务所涉及的数据格式进行读取。
广告业务使用Hive筛选历史数据来对广告目标进行预测和定义配额。产品开发无疑是该组织中产生最大数量的特定的查询的用户了。对于任何用户群,时间间隔变化或随时间而变化。Hive是很重要的,因为它允许我们通过对在当前和历史数据中运行A / B测试来判断在一个快速变化的用户环境中新产品的相关特性。
在Photobucket公司中,为我们的用户提供一流的系统是最重要的目标。从操作的角度来看,Hive被用来汇总生成跨多个维度的数据。在公司里知道最流行的媒体、用户、参考域是非常重要的。控制费用对于任何组织都是重要的。一个用户可以快速消耗大量的系统资源,并显着增加每月的支出。Hive可以用于识别和分析出这样的恶意用户,以确定哪些是符合我们的服务条款,而哪些是不符合的。也可以使用Hive对一些操作运行A / B测试来定义新的硬件需求和生成ROI计算。Hive将用户从底层MapRece代码解放出来的能力意味着可以在几个小时或几天内就可以获得答案,而不是之前的数周。

Hive中的数据库

Hive中数据库的概念本质上仅仅是表的一个目录或者命名空间。然而,对于具有很多组和用户的大集群来说,这是非常有用的,因为这样可以避免表命名冲突。通常会使用数据库来将生产表组织成逻辑组。
如果用户没有显式指定数据库,那么将会使用默认的数据库default。
下面这个例子就展示了如何创建一个数据库:
hive> CREATE DATABASE financials;

如果数据库financials已经存在的话,那么将会抛出一个错误信息。使用如下语句可以避免在这种情况下抛出错误信息:
hive> CREATE DATABASE IF NOT EXISTS financials;

虽然通常情况下用户还是期望在同名数据库已经存在的情况下能够抛出警告信息的,但是IF NOT EXISTS这个子句对于那些在继续执行之前需要根据需要实时创建数据库的情况来说是非常有用的。
在所有的数据库相关的命令中,都可以使用SCHEMA这个关键字来替代关键字TABLE。
随时可以通过如下命令方式查看Hive中所包含的数据库:
hive> SHOW DATABASES;
default
financials

hive> CREATE DATABASE human_resources;

hive> SHOW DATABASES;
default
financials
human_resources

如果数据库非常多的话,那么可以使用正则表达式匹配来筛选出需要的数据库名,正则表达式这个概念,将会在第6.2.3节“Like和RLike”介绍。下面这个例子展示的是列举出所有以字母h开头,以其他字符结尾(即.*部分含义)的数据库名:
hive> SHOW DATABASES LIKE 'h.*';
human_resources
hive> ...

Hive会为每个数据库创建一个目录。数据库中的表将会以这个数据库目录的子目录形式存储。有一个例外就是default数据库中的表,因为这个数据库本身没有自己的目录。
数据库所在的目录位于属性hive.metastore.warehouse.dir所指定的顶层目录之后,这个配置项我们已经在前面的第2.5.1节“本地模式配置”和第2.5.2节“分布式模式和伪分布式模式配置”中进行了介绍。假设用户使用的是这个配置项默认的配置,也就是/user/hive/warehouse,那么当我们创建数据库financials时,Hive将会对应地创建一个目录/user/hive/warehouse/financials.db。这里请注意,数据库的文件目录名是以.db结尾的。
用户可以通过如下的命令来修改这个默认的位置:
hive> CREATE DATABASE financials
> LOCATION '/my/preferred/directory';

用户也可以为这个数据库增加一个描述信息,这样通过DESCRIBE DATABASE <database> 命令就可以查看到该信息。
hive> CREATE DATABASE financials
> COMMENT 'Holds all financial tables';

hive> DESCRIBE DATABASE financials;
financials Holds all financial tables
hdfs://master-server/user/hive/warehouse/financials.db

从上面的例子中,我们可以注意到,DESCRIEB DATABASE语句也会显示出这个数据库所在的文件目录位置路径。在这个例子中,URI格式是hdfs。如果安装的是MapR,那么这里就应该是maprfs。对于亚马逊弹性MapRece(EMR)集群,这里应该是hdfs,但是用户可以设置hive.metastore.warehouse.dir为亚马逊S3特定的格式(例如,属性值设置为s3n://bucketname...)。用户可以使用s3作为模式,但是如果使用新版的规则s3n会更好。
前面DESCRIBE DATABASE语句的输出中,我们使用了master-server来代表URI权限,也就是说应该是由文件系统的“主节点”(例如,HDFS中运行NameNode服务的那台服务器)的服务器名加上一个可选的端口号构成的(例如,服务器名:端口号这样的格式)。如果用户执行的是伪分布式模式,那么主节点服务器名称就应该是localhost。对于本地模式,这个路径应该是一个本地路径,例如file:///user/hive/warehouse/financials.db。
如果这部分信息省略了,那么Hive将会使用Hadoop配置文件中的配置项fs.default.name作为master-server所对应的服务器名和端口号,这个配置文件可以在$HADOOP_HOME/conf这个目录下找到。
需要明确的是,hdfs:///user/hive/warehouse/financials.db和hdfs://master-server/user/hive/
warehouse/financials.db是等价的,其中master-server是主节点的DNS名和可选的端口号。
为了保持完整性,当用户指定一个相对路径(例如,some/relative/path)时,对于HDFS和Hive,都会将这个相对路径放到分布式文件系统的指定根目录下(例如,hdfs:///user/<user-name>)。然而,如果用户是在本地模式下执行的话,那么当前的本地工作目录将是some/relative/path的父目录。
为了脚本的可移植性,通常会省略掉那个服务器和端口号信息,而只有在涉及到另一个分布式文件系统实例(包括S3存储)的时候才会指明该信息。
此外,用户还可以为数据库增加一些和其相关的键-值对属性信息,尽管目前仅有的功能就是提供了一种可以通过DESCRIBE DATABASE EXTENDED <database>语句显示出这些信息的方式:
hive> CREATE DATABASE financials
> WITH DBPROPERTIES ('creator' = 'Mark Moneybags', 'date' = '2012-01-02');

hive> DESCRIBE DATABASE financials;
financials hdfs://master-server/user/hive/warehouse/financials.db

hive> DESCRIBE DATABASE EXTENDED financials;
financials hdfs://master-server/user/hive/warehouse/financials.db
{date=2012-01-02, creator=Mark Moneybags);

USE命令用于将某个数据库设置为用户当前的工作数据库,和在文件系统中切换工作目录是一个概念:
hive> USE financials;

现在,使用像SHOW TABLES这样的命令就会显示当前这个数据库下所有的表。
不幸的是,并没有一个命令可以让用户查看当前所在的是哪个数据库!幸运的是,在Hive中是可以重复使用USE…命令的,这是因为在Hive中并没有嵌套数据库的概念。
可以回想下,在第2.7.2节“变量和属性”中提到过,可以通过设置一个属性值来在提示符里面显示当前所在的数据库(Hive v0.8.0版本以及之后的版本才支持此功能):
hive> set hive.cli.print.current.db=true;

hive (financials)> USE default;

hive (default)> set hive.cli.print.current.db=false;

hive> ...

最后,用户可以删除数据库:
hive> DROP DATABASE IF EXISTS financials;

IF EXISTS子句是可选的,如果加了这个子句,就可以避免因数据库finanacials不存在而抛出警告信息。
默认情况下,Hive是不允许用户删除一个包含有表的数据库的。用户要么先删除数据库中的表,然后再删除数据库;要么在删除命令的最后面加上关键字CASCADE,这样可以使Hive自行先删除数据库中的表:
hive> DROP DATABASE IF EXISTS financials CASCADE;

如果使用的是RESTRICT这个关键字而不是CASCADE这个关键字的话,那么就和默认情况一样,也就是,如果想删除数据库,那么必须先要删除掉该数据库中的所有表。
如果某个数据库被删除了,那么其对应的目录也同时会被删除。

H. hive中怎么把文本插入表中

1. hive如何通过insert语句将数据插入表中
从文件加载数据进表(OVERWRITE覆盖,追加不需要OVERWRITE关键字)

LOAD DATA LOCAL INPATH 'dim_csl_rule_config.txt' OVERWRITE into table dim.dim_csl_rule_config;

--从查询语句给table插入数据

INSERT OVERWRITE TABLE test_h02_click_log PARTITION(dt) select *

from stage.s_h02_click_log where dt='2014-01-22' limit 100;
2. 如何将excel中的数据导入hive仓库中
将存放在excel表中的数据如何导入到hive中,首先前提是excel表中数据类型以及长度要和hive仓库中表的字段属性一致,否则会报异常。其次因为建表的时候,已经定义了表的分割符号(row format delimited fields terminated by ','),所以不能直接将excel表格中数据导入的hive仓库中。处理方式如下:

先将excel表中数据另存转化为data.csv格式,转化为.csv格式的文件默认就是用“,”进行分割的,可以用notepad++打开data.csv格式查看。然后再讲数据导入到hive仓库中即可。但是执行如下导入语句时,发现报错,显示Wrong file format。

检查以后发现,因为在创建表格时,使用的是RCFILE存储格式

STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.RCFileInputFormat'

OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.RCFileOutputFormat'

而导入到是TextFile文件格式,所以报错,解决办法建表的格式默认使用让皮TextFile格式即可。

如何将文件转化为rcfile文件格式:

(1)hive 中直接 通过textfile表进行insert转换,比如通过如下将textfile数据导入到rcfile中。

insert overwrite table _RCTable partition(dt='2013-09-30') select p_id,tm,idate,phone from tmp_testp where dt='2013-09-30';

(2)使用maprece将普通的文件压缩成RCFile,并且再读取RCFile文件。
3. 如何把hive导旁宴出到本地的表导入mysql中
MySQL命令行导出数据库:

1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录

如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin

(或者直接将windows的环境变量path中添加该目录)

2,导出数据库:mysqlmp -u 用户名 -p 数据库名 >; 导出的文件名

如我输入的命令行:mysqlmp -u root -p news > news.sql (输入后会让你输入进入MySQL的密码)

(如果导出单张表的话在数据库名后面输入表名即可)

3、会看到文件news.sql自动生成到bin文件下

命令行导入数据库:

1,将要导入的.sql文件移至bin文件下,这样的路径比较方便

2,同上面导出的第1步

3,进入MySQL:mysql -u 用户名 -p

如我输入的命令行:mysql -u root -p (输入同样后会让你输入MySQL的密码)

4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库

5,输入:mysql>use 目标数据库名

如我输入的命令行:mysql>坦启差use news;

6,导入文件:mysql>source 导入的文件名;

如我输入的命令行:mysql>source news.sql;
4. Hive几种数据导入方式和动态分区,多表插入
常用的的有三种:1.从本地文件系统中导入数据到Hive表;2.从HDFS上导入数据到Hive表;3.在创建表的时候通过从别的表中查询出相应的记录并插入到所创建的表中。

Hive配置:HDFS中Hive数据文件存放目录(启动hive后HDFS自动创建):HDFS: /usr/hive/warehousehadoop fs -mkdir /usr/hive/warehouse 命令创立本地数据存放目录:本地:/home/santiago/data/hive一.从本地文件系统中导入数据到Hive表1.在hive中建表hive> show databases;OKdefaultTime taken: 1.706 seconds, Fetched: 1 row(s)hive> create table guo_test(Name string,String string)> row format delimited> fields terminated by ','> stored as textfile;hive> show tables;OKguo_testTime taken: 0.024 seconds, Fetched: 1 row(s)1234567891011122.在本地文件建立同类型数据表santi@hdp:~/data/hive$ lshive_test.txtsanti@hdp:~/data/hive$ cat hive_test.txtsanti,you are a zhazha.12343.导入数据并测试hive>load data local inpath '/home/santi/data/hive/hive_test.txt' into table guo_test;hive> select * from guo_test;hive>dfs -ls /usr/hive/warehouse/guo_test;#hadoop fs -ls /usr/hive/warehouseFound 1 itemsdrwxrwxr-x - santiago supergroup 0 2017-01-14 21:13/usr/hive/warehouse/guo_test12345678发现hive-site,xml设置的HDFS文件存储位置中多了guo_test这个文件夹#hadoop fs -ls /usr/hive/warehouse/guo_testFound 1 items-rwxrwxr-x 1 santiago supergroup 24 2017-01-14 21:13/usr/hive/warehouse/guo_test/hive_test.txthive> select * from guo_test;OKsanti you are a zhazha.12345678在该文件夹中找到了所写入hive数据仓库的文件。[注]本地数据写入成功,但是从本地将数据导入到Hive表的过程中,其实是先将数据临时复制到HDFS的一个目录下(典型的情况是复制到上传用户的HDFS home目录下,比如/home/santi/),然后再将数据从临时目录下移动到对应的Hive表的数据目录里面(临时目录不保留数据)。

二.从HDFS文件系统中导入数据到Hive表1.在HDFS文件系统上建立数据文件hdfs上没有vim命令,则需要将本地数据文件手动传入到HDFS上/data/hive# vim data_HDtoHive/data/hive# cat data_HDtoHivedata from, HDFS to Hive #hadoop fs -put /home/santi/data/hive/data_HDtoHive /usr/data/input数据传入# hadoop fs -ls /usr/data/input123452导入数据hive> load data inpath '/usr/data/input/data_HDtoHive' into table guo_test;hive> select * from guo_test;OKdata from HDFS to Hivesanti you are a zhazha.Time taken: 0.172 seconds, Fetched: 2 row(s)123456数据写入成功数据存hive配置的数据存储位置中。[注]从本地导入数据语句为hive>load data local inpath '/home/santi/data/hive/hive_test.txt' into table guo_test;从HDFS中导入数据的语句为hive> load data inpath '/usr/data/input/data_HDtoHive' into table guo_test;差距在local这个命令这里。

而从HDFS系统上导入到Hive表的时候,数据转移。HDFS系统上查找不到相关文件。

三.从HIVE表选取数据插入新的HIVE表命令为create table 表名 as selecr xxx from 表名。hive> create table hivedata_test1> as> select name> from guo_test;hive> select * from hivedata_test1;OKdata fromsantiTime taken: 0.116 seconds, Fetched: 2 row(s)123456789[注]hive是分区表有稍微区别在Hive中,表的每一个分区对应表下的相应目录,所有分区的数据都是存储在对应的目录中。

比表有a和b两个分区,则对应a=xxx,b=xx对应表的目录为/user/hive/warehouse/a=xxxuser/hive/warehouse/b=xx,所有属于这个分区的数据都存放在这个目录中。hive> create table hivedata_test2(> Name string)> partitioned by> (String string)> ROW FORMAT DELIMITED> FIELDS TERMINATED BY ','> STORED AS TEXTFILE;hive> insert into table hivedata_test2> partition(String='best')> select Name> from guo_test;hive> select * from hivedata_test2;OKdata from bestsanti bestTime taken: 1.549 seconds, Fetched: 2 row(s)# hadoop fs -ls /usr/hive/warehouse/hivedata_test2Found 1 itemsdrwxrwxr-x -santiago supergroup 0 2017-02-14 17:40/usr/hive/warehouse/hivedata_test2/string=best。
5. hive 怎么添加 表注释语法
要添加注释,只需要用单引号'作为注释文字的开头。注释符告诉Visual Basic,忽略这个符号后面的内容,这些内容就是代码段中的注释部分,在代码编辑器中以绿色字符显示。

注释可以和语句在同一行,写在语句的后面,也可占据一整行。

例如:

'在文本框中放欢迎词。

Private Sub mand1_Click()

Text1. Text="Hello." '把文本框Text1的属性设置为Hello。

End Sub

注意,不能在同一行上把注释接在续行符后面。

I. 如何把hive导出到本地的表导入mysql中

MySQL命令行导出数据库:
1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录
如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin
(或者直接将windows的环境变量path中添加该目录)

2,导出数据库:mysqlmp -u 用户名 -p 数据库名 > 导出弯燃的文件名
如我输入的命令行:mysqlmp -u root -p news > news.sql (输入后会让你输入进入MySQL的密码埋姿虚)
(如果导出单张表的话在数据库名后面输入表名即可)

3、会看到文件news.sql自动生成到bin文件下
命令行导入数据库:

1,将要导入的.sql文件移至bin文件下,这样的路径比较方便
2,同上面导出的第1步
3,进入MySQL:mysql -u 用户名 -p
如我输入的命令行:mysql -u root -p (输入同样后会让你输入MySQL的密码)
4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库
5,输入:mysql>use 目标数据库名
如我输入的命令册伏行:mysql>use news;
6,导入文件:mysql>source 导入的文件名;
如我输入的命令行:mysql>source news.sql;

J. Hive 数据库表的基本操作,必须掌握的基本功

说明:hive 的表存放位置模式是由 hive-site.xml 当中的一个属性指定的,默认是存放在该配置文件设置的路径下,也可在创建数据库时单独指定存储路径。

数据库有一些描述性的属性信息,可以在创建时添加:

查看数据库的键值对信息

修改数据库的键值对信息

与mysql查询语句是一样的语法

删除一个空数据库,如果数据库下面有数据表,那么就会报错

强制删除数据库,包含数据库下面的表一起删除(请谨慎操作)


[]里的属性为可选属性,不是必须的,但是如果有可选属性,会使 sql 语句的易读性更好,更标准与规范。

例如:[comment '字段注释信息'][comment '表的描述信息']等,[external]属性除外


1. CREATE TABLE
创建一个指定名字的表,如果相同名字的表已存在,则抛出异常提示:表已存在,使用时可以使用IF NOT EXISTS语句来忽略这个异常。

如果创建的表名已存在,则不会再创建,也不会抛出异常提示:表已存在。否则则自动创建该表。


2. EXTERNAL
顾名思义是外部的意思,此关键字在建表语句中让使用者可以创建一个外部表,如果不加该关键字,则默认创建内部表。

外部表在创建时必须同时指定一个指向实际数据的路径(LOCATION),Hive在创建内部表时,会将数据移动到数据仓库指向的路径;

若创建外部表,仅记录数据所在的路径,不对数据的位置作任何改变。

内部表在删除后,其元数据和数据都会被一起删除。
外部表在删除后,只删除其元数据,数据不会被删除。


3. COMMENT
用于给表的各个字段或整张表的内容作解释说明的,便于他人理解其含义。


4. PARTITIONED BY
区分表是否是分区表的关键字段,依据具体字段名和类型来决定表的分区字段。


5. CLUSTERED BY
依据column_name对表进行分桶,在 Hive 中对于每一张表或分区,Hive 可以通过分桶的方式将数据以更细粒度进行数据范围划分。Hive采用对列值哈希,然后除以桶的个数求余的方式决定该条记录存放在哪个桶当中。


6. SORTED BY
指定表数据的排序字段和排序规则,是正序还是倒序排列。


7. ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '
指定表存储中列的分隔符,这里指定的是' ',也可以是其他分隔符。


8. STORED AS SEQUENCEFILE|TEXTFILE|RCFILE
指定表的存储格式,如果文件数据是纯文本格式,可以使用STORED AS TEXTFILE,如果数据需要压缩,则可以使用STORED AS SEQUENCEFILE。


9. LOCATION
指定 Hive 表在 hdfs 里的存储路径,一般内部表(Managed Table)不需要自定义,使用配置文件中设置的路径即可。
如果创建的是一张外部表,则需要单独指定一个路径。


1. 使用create table语句创建表
例子:


2. 使用create table ... as select...语句创建表
例子:

使用 create table ... as select ...语句来创建新表sub_student,此时sub_student 表的结构及表数据与 t_student 表一模一样, 相当于直接将 t_student 的表结构和表数据复制一份到 sub_student 表。


注意:
(1). select 中选取的列名(如果是 * 则表示选取所有列名)会作为新表 sub_student 的列名。

(2). 该种创建表的方式会改变表的属性以及结构,例如不能是外部表,只能是内部表,也不支持分区、分桶。

如果as select后的表是分区表,并且使用select *,则分区字段在新表里只是作为字段存在,而不是作为分区字段存在。

在使用该种方式创建时,create 与 table 之间不能加 external 关键字,即不能通过该种方式创建外部目标表,默认只支持创建内部目标表。

(3). 该种创建表的方式所创建的目标表存储格式会变成默认的格式textfile。


3.使用like语句创建表
例子:


注意:
(1). 只是将 t_student 的表结构复制给 sub1_student 表。

(2). 并不复制 t_student 表的数据给 sub1_student 表。

(3). 目标表可以创建为外部表,即: