這裡蒐索程式師資訊,查找有用的技術資料
当前位置:首页 » 编程语言 » hivesqllike
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

hivesqllike

发布时间: 2022-05-15 22:19:42

㈠ 一条sql如何使用两个like查询两个字段

1、假设表名为proct,商品名为name,简界为remark.则可如下写:select [name],[remark] from proct name like '%aa%' or remark like '%aa%'.注:上面单引号的aa你表模糊查询输入的字符。

2、从(表名)中选择*,其中(搜索名)如“%%”,ID如“%(简介)%”

3、使用Like子句。页首:从[TableName]中选择*,其中[Name]类似于'%SQL%',[Introction]类似于'%Software%',这意味着[Name]部分包含“SQL”,并且[Introction]该级别包含“软件”记录。

4、从用户名*的序列号(例如'%small%')中,按IDascasc代表降序降序。

(1)hivesqllike扩展阅读:

模糊搜索有两个主要定义点。

例如,当查找名称Smith时,您会发现类似的Smithe,Smythe,Smyth,Smitt等。

由系统的管理界面配置。例如,在将“计算机”和“计算机”配置为名词之后,搜索“计算机”,还将出现一个包含“计算机”的网页。在搜索结果中。

在图像搜索框中输入本地图像。

1、如果您的图片具有有意义的标题,一些“衣服”,那么搜索结果将显示相关的文本搜索结果

2、如果您的图片标题没有任何提示,则搜索结果仅显示相关图片。

3、搜索准确性随不同图片的满意度而变化,主流商业图片往往越准确

当前,诸如网络,谷歌和其他搜索引擎以及淘宝的平台类似地实现了该应用。

文字模糊搜索

搜索引擎或门户搜索:在搜索框中输入文本,然后选择模糊搜索模式以获取匹配项。

数据库搜索:常规模糊查询语句如下:从WHERE表中的类似条件中选择SELECT。

在这些条件中,SQL提供了多种匹配模式:

1、%:表示0个或多个字符。可以匹配任何类型和长度的字符,在某些情况下,如果是中文,请使用两个百分号(%%)。

2、_:表示任意分割字符。匹配拆分的任意字符,通常用于限制表达式的字符长度语句:

3、[]:表示括号中插入的字符之一(类似于正则表达式)。指定一个字符,字符串或范围,要求匹配的对象是它们之一。

4、[^]:表示括号内没有插入单个字符。它的值与[]相同,但是它要求将对象分配给除指定字符之外的任何其他字符。

5、当查询包含通配符时

由于使用了通配符,我们可以查询特殊字符“%”,“_”,“[”语句无法正常实现,并且特殊字符可以由“[]”正常查询。

在不同的数据库中,模糊搜索语句将有所不同,并且可以在系统帮助文档中找到。

㈡ hive sql有没有控制流程的语法

1. DDL 操作
DDL操作类型
1.2 建表:
建表
•CREATE TABLE 创建一个指定名字的表。如果相同名字的表已经存在,则抛出异常;用户可以用 IF NOT EXIST 选项来忽略这个异常
•EXTERNAL 关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(LOCATION)
•LIKE 允许用户复制现有的表结构,但是不复制数据
•COMMENT可以为表与字段增加描述

•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 确定表的具体的列的数据。
•STORED AS
SEQUENCEFILE
| TEXTFILE
| RCFILE
| INPUTFORMAT input_format_classname OUTPUTFORMAT output_format_classname
如果文件数据是纯文本,可以使用 STORED AS TEXTFILE。如果数据需要压缩,使用 STORED AS SEQUENCE 。

1.3 创建简单表:
hive> CREATE TABLE pokes (foo INT, bar STRING);
1.4 创建外部表:
创建外部表
1.5 建分区表
分区表
1.6 建Bucket表
创建Bucket表
1.7 创建表并创建索引字段ds
hive> CREATE TABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING);
1.8 复制一个空表
CREATE TABLE empty_key_value_store
LIKE key_value_store;
例子
例子

导入数据表的数据格式是:字段之间是tab键分割,行之间是断行。
及要我们的文件内容格式:
100636 100890 c5c86f4cddc15eb7 yyyvybtvt
100612 100865 97cc70d411c18b6f gyvcycy
100078 100087 ecd6026a15ffddf5 qa000100

1.9 显示所有表:
hive> SHOW TABLES;
1.10 按正条件(正则表达式)显示表,
hive> SHOW TABLES '.*s';
DDL类型-修改表结构
1.21 表添加一列:
hive> ALTER TABLE pokes ADD COLUMNS (new_col INT);
1.22 添加一列并增加列字段注释
hive> ALTER TABLE invites ADD COLUMNS (new_col2 INT COMMENT 'a comment');
1.23 更改表名:
hive> ALTER TABLE events RENAME TO 3koobecaf;
1.24 删除列:
hive> DROP TABLE pokes;

1.25 增加、删除分区
•增加
ALTER TABLE table_name ADD [IF NOT EXISTS] partition_spec [ LOCATION 'location1' ] partition_spec [ LOCATION 'location2' ] ...
partition_spec:
: PARTITION (partition_col = partition_col_value, partition_col = partiton_col_value, ...)
•删除
ALTER TABLE table_name DROP partition_spec, partition_spec,...
1.26 重命名表
ALTER TABLE table_name RENAME TO new_table_name
1.27 修改列的名字、类型、位置、注释:
ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name]
这个命令可以允许改变列名、数据类型、注释、列位置或者它们的任意组合
1.28 表添加一列:
hive> ALTER TABLE pokes ADD COLUMNS (new_col INT);
1.29 添加一列并增加列字段注释
hive> ALTER TABLE invites ADD COLUMNS (new_col2 INT COMMENT 'a comment');
1.30 增加/更新列
ALTER TABLE table_name ADD|REPLACE COLUMNS (col_name data_type [COMMENT col_comment], ...)

• ADD是代表新增一字段,字段位置在所有列后面(partition列前)
REPLACE则是表示替换表中所有字段。
1.31 增加表的元数据信息
ALTER TABLE table_name SET TBLPROPERTIES table_properties table_properties:
:[property_name = property_value…..]
•用户可以用这个命令向表中增加metadata
1.31改变表文件格式与组织
ALTER TABLE table_name SET FILEFORMAT file_format
ALTER TABLE table_name CLUSTERED BY(userid) SORTED BY(viewTime) INTO num_buckets BUCKETS
这个命令修改了表的物理存储属性
1.4 创建/删除视图
CREATE VIEW [IF NOT EXISTS] view_name [ (column_name [COMMENT column_comment], ...) ][COMMENT view_comment][TBLPROPERTIES (property_name = property_value, ...)] AS SELECT
•增加视图
•如果没有提供表名,视图列的名字将由定义的SELECT表达式自动生成
•如果修改基本表的属性,视图中不会体现,无效查询将会失败
•视图是只读的,不能用LOAD/INSERT/ALTER
•DROP VIEW view_name
•删除视图
1.5 创建数据库
CREATE DATABASE name
1.6 显示命令

㈢ hive sql的语法帮助在哪

Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapRece任务进行运行,通过自己的SQL 去查询分析需要的内容,这套SQL 简称Hive SQL,使不熟悉maprece 的用户很方便的利用SQL 语言查询,汇总,分析数据。而maprece开发人员可以把己写的mapper 和recer 作为插件来支持Hive 做更复杂的数据分析。
它与关系型数据库的SQL 略有不同,但支持了绝大多数的语句如DDL、DML 以及常见的聚合函数、连接查询、条件查询。HIVE不适合用于联机online)事务处理,也不提供实时查询功能。它最适合应用在基于大量不可变数据的批处理作业。
HIVE的特点:可伸缩(在Hadoop的集群上动态的添加设备),可扩展,容错,输入格式的松散耦合。
Hive 的官方文档中对查询语言有了很详细的描述,请参考:http://wiki.apache.org/hadoop/Hive/LanguageManual ,本文的内容大部分翻译自该页面,期间加入了一些在使用过程中需要注意到的事项。
1. DDL 操作
DDL
?建表
?删除表
?修改表结构
?创建/删除视图
?创建数据库
?显示命令
建表:
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name
[(col_name data_type [COMMENT col_comment], ...)]
[COMMENT table_comment]
[PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]
[CLUSTERED BY (col_name, col_name, ...)
[SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS]
[ROW FORMAT row_format]
[STORED AS file_format]
[LOCATION hdfs_path]
?CREATE TABLE 创建一个指定名字的表。如果相同名字的表已经存在,则抛出异常;用户可以用 IF NOT EXIST 选项来忽略这个异常
?EXTERNAL 关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(LOCATION)
?LIKE 允许用户复制现有的表结构,但是不复制数据
?COMMENT可以为表与字段增加描述
?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 确定表的具体的列的数据。
?STORED AS
SEQUENCEFILE
| TEXTFILE
| RCFILE
| INPUTFORMAT input_format_classname OUTPUTFORMAT output_format_classname
如果文件数据是纯文本,可以使用 STORED AS TEXTFILE。如果数据需要压缩,使用 STORED AS SEQUENCE 。
创建简单表:
hive> CREATE TABLE pokes (foo INT, bar STRING);
创建外部表:
CREATE EXTERNAL TABLE page_view(viewTime INT, userid BIGINT,
page_url STRING, referrer_url STRING,
ip STRING COMMENT 'IP Address of the User',
country STRING COMMENT 'country of origination')
COMMENT 'This is the staging page view table'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\054'
STORED AS TEXTFILE
LOCATION '';
建分区表
CREATE TABLE par_table(viewTime INT, userid BIGINT,
page_url STRING, referrer_url STRING,
ip STRING COMMENT 'IP Address of the User')
COMMENT 'This is the page view table'
PARTITIONED BY(date STRING, pos STRING)
ROW FORMAT DELIMITED ‘\t’
FIELDS TERMINATED BY '\n'
STORED AS SEQUENCEFILE;
建Bucket表
CREATE TABLE par_table(viewTime INT, userid BIGINT,
page_url STRING, referrer_url STRING,
ip STRING COMMENT 'IP Address of the User')
COMMENT 'This is the page view table'
PARTITIONED BY(date STRING, pos STRING)
CLUSTERED BY(userid) SORTED BY(viewTime) INTO 32 BUCKETS
ROW FORMAT DELIMITED ‘\t’
FIELDS TERMINATED BY '\n'
STORED AS SEQUENCEFILE;
创建表并创建索引字段ds
hive> CREATE TABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING);
复制一个空表
CREATE TABLE empty_key_value_store
LIKE key_value_store;
例子
create table user_info (user_id int, cid string, ckid string, username string)
row format delimited
fields terminated by '\t'
lines terminated by '\n';
导入数据表的数据格式是:字段之间是tab键分割,行之间是断行。
及要我们的文件内容格式:
100636 100890 c5c86f4cddc15eb7 yyyvybtvt
100612 100865 97cc70d411c18b6f gyvcycy
100078 100087 ecd6026a15ffddf5 qa000100
显示所有表:
hive> SHOW TABLES;
按正条件(正则表达式)显示表,
hive> SHOW TABLES '.*s';
修改表结构
?增加分区、删除分区
?重命名表
?修改列的名字、类型、位置、注释
?增加/更新列
?增加表的元数据信息
表添加一列 :
hive> ALTER TABLE pokes ADD COLUMNS (new_col INT);
添加一列并增加列字段注释
hive> ALTER TABLE invites ADD COLUMNS (new_col2 INT COMMENT 'a comment');
更改表名:
hive> ALTER TABLE events RENAME TO 3koobecaf;
删除列:
hive> DROP TABLE pokes;
增加、删除分区
?增加
ALTER TABLE table_name ADD [IF NOT EXISTS] partition_spec [ LOCATION 'location1' ] partition_spec [ LOCATION 'location2' ] ...
partition_spec:
: PARTITION (partition_col = partition_col_value, partition_col = partiton_col_value, ...)
?删除
ALTER TABLE table_name DROP partition_spec, partition_spec,...
重命名表
?ALTER TABLE table_name RENAME TO new_table_name
修改列的名字、类型、位置、注释:
?ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name]
?这个命令可以允许改变列名、数据类型、注释、列位置或者它们的任意组合
表添加一列 :
hive> ALTER TABLE pokes ADD COLUMNS (new_col INT);
添加一列并增加列字段注释
hive> ALTER TABLE invites ADD COLUMNS (new_col2 INT COMMENT 'a comment');
增加/更新列
?ALTER TABLE table_name ADD|REPLACE COLUMNS (col_name data_type [COMMENT col_comment], ...)

? ADD是代表新增一字段,字段位置在所有列后面(partition列前)
REPLACE则是表示替换表中所有字段。
增加表的元数据信息
?ALTER TABLE table_name SET TBLPROPERTIES table_properties table_properties:
:[property_name = property_value…..]

?用户可以用这个命令向表中增加metadata
改变表文件格式与组织
?ALTER TABLE table_name SET FILEFORMAT file_format
?ALTER TABLE table_name CLUSTERED BY(userid) SORTED BY(viewTime) INTO num_buckets BUCKETS

附上出处链接:http://blog.itpub.net/26613085/viewspace-1224043/

㈣ sql like查询如何不区分大小写

mysql Like查询默认是不区分大小写的:

如:

  • select*fromtabletwheret.colum1likeconcat('%','a','%');

  • select*fromtabletwheret.colum1likeconcat('%','A','%');

  • 两个sql查询结果相同;
  • 如果必要区分的话可以这样:

  • select*fromtabletwherebinaryt.colum1likeconcat('%','A','%');



  • 建表时,字段加上标识也可以区分大小写:
  • create table t{

    codevarchar(10) binary

    }

㈤ Hbase能模糊查询吗,类似like

本身有scan可以模糊查询,
也可以关联hive,然后就可以用sql语句的like了,hive查hbase的数据底层也是通过scan来实现like查询,但是效率爆低,数据越多时间就越长

㈥ 为什么使用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这个关键字的话,那么就和默认情况一样,也就是,如果想删除数据库,那么必须先要删除掉该数据库中的所有表。
如果某个数据库被删除了,那么其对应的目录也同时会被删除。

㈦ 求助hive中sql语句的问题,from...insert into

ParseException line 3:14 missing EOF at 'from' near ')'
第3行,14字符解析,是因为 from 前面少一个空格嘛?
select sum(b) from (

㈧ hive like 正则 有没有not like

有的,like其实不是正则,而是通配符,这个通配符可以看一下SQL的标准。例如%代表任意多个字符。
A like '123%'
要是not like使用 not A like '123%'

若是在hive想用正则,请用rlike,不过hive的正则写法和java一样,\请使用\\,例如数字\d,在这需要写成\\d
A rlike '\\d+'
not A rlike '\\d+'

㈨ SQL语句like怎么使用多个like条件...

方法和详细的操作步骤如下:

1、第一步,新建测试表,见下图,转到下面的步骤。

㈩ Hadoop有哪几个组成部分-ITJOB

1、Hadoop Common :Hadoop体系最底层的一个模块,为Hadoop各子项目提供各种工具,如:配置文件和日志操作等。
2、HDFS:分布式文件系统,提供高吞吐量的应用程序数据访问,对外部客户机而言,HDFS就像一个传统的分级文件系统。可以创建、删除、移动或重命名文件,等等。但是 HDFS的架构是基于一组特定的节点构建的,这是由它自身的特点决定的。这些节点包括 NameNode(仅一个),它在 HDFS内部提供元数据服务;DataNode,它为 HDFS提供存储块。由于仅存在一个 NameNode,因此这是 HDFS的一个缺点(单点失败)。
存储在 HDFS中的文件被分成块,然后将这些块复制到多个计算机中(DataNode)。这与传统的 RAID架构大不相同。块的大小(通常为 64MB)和复制的块数量在创建文件时由客户机决定。NameNode可以控制所有文件操作。HDFS内部的所有通信都基于标准的 TCP/IP协议。
3、MapRece :一个分布式海量数据处理的软件框架集计算集群。
4、Avro :doug cutting主持的RPC项目,主要负责数据的序列化。有点类似Google的protobuf和Facebook的thrift。avro用来做以后hadoop的RPC,使hadoop的RPC模块通信速度更快、数据结构更紧凑。
5、Hive :类似CloudBase,也是基于hadoop分布式计算平台上的提供data warehouse的sql功能的一套软件。使得存储在hadoop里面的海量数据的汇总,即席查询简单化。hive提供了一套QL的查询语言,以sql为基础,使用起来很方便。
6、HBase :基于Hadoop Distributed File System,是一个开源的,基于列存储模型的可扩展的分布式数据库,支持大型表的存储结构化数据。
7、Pig :是一个并行计算的高级的数据流语言和执行框架 ,SQL-like语言,是在MapRece上构建的一种高级查询语言,把一些运算编译进MapRece模型的Map和Rece中,并且用户可以定义自己的功能。
8、ZooKeeper :Google的Chubby一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
9、Chukwa :一个管理大型分布式系统的数据采集系统由yahoo贡献。
10、Cassandra :无单点故障的可扩展的多主数据库。
11、Mahout :一个可扩展的机器学习和数据挖掘库。