日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

HIVE的安装配置、mysql的安装、hive创建表、创建分区、修改表等内容、hive beeline使用、HIVE的四种数据导入方式、使用Java代码执行hive的sql命令

發(fā)布時間:2024/9/27 数据库 33 豆豆

1.上傳tar包
這里我上傳的是apache-hive-1.2.1-bin.tar.gz

2.解壓

mkdir -p?/home/tuzq/software/hive/

tar -zxvf apache-hive-1.2.1-bin.tar.gz ?-C /home/tuzq/software/hive/


3.安裝mysql數(shù)據(jù)庫(切換到root用戶)(裝在哪里沒有限制,只有能聯(lián)通hadoop集群的節(jié)點)

mysql安裝可以參考:http://blog.csdn.net/tototuzuoquan/article/details/52711808

?

mysql安裝僅供參考,不同版本mysql有各自的安裝流程

rpm -qa | grep mysql
rpm -e mysql-libs-5.1.66-2.el6_3.i686 --nodeps
rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm?
rpm -ivh MySQL-client-5.1.73-1.glibc23.i386.rpm?
修改mysql的密碼
/usr/bin/mysql_secure_installation
(注意:刪除匿名用戶,允許用戶遠程連接)
登陸mysql
mysql -u root -p

4.配置hive

(a)配置HIVE_HOME環(huán)境變量

vim /etc/profile

export JAVA_HOME=/usr/local/jdk1.8.0_73
export HADOOP_HOME=/home/tuzq/software/hadoop-2.8.0
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HIVE_HOME=/home/tuzq/software/hive/apache-hive-1.2.1-bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin

source?/etc/profile

將hadoop集群中的其它的環(huán)境變量也配置成這種,如我的hadoop集群是hadoop1,hadoop2,hadoop3,hadoop4,hadoop5。這些我都配置成了上面的同樣的環(huán)境變量

?

[root@hadoop1 conf]# cd $HIVE_HOME/conf

[root@hadoop1 conf]# mv hive-env.sh.template hive-env.sh

[root@hadoop1 conf]#?vi $HIVE_HOME/conf/hive-env.sh

配置其中的$hadoop_home

添加:

export HIVE_CONF_DIR=/home/bigdata/installed/hive-2.3.2/conf

?

(b)配置元數(shù)據(jù)庫信息 ??

在$HIVE_HOME/conf文件加下,創(chuàng)建hive-site.xml文件,文件內(nèi)容如下:

vi ?hive-site.xml?

添加如下內(nèi)容:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <configuration><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://hadoop10:3306/hive?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=utf-8</value><description>JDBC connect string for a JDBC metastore</description></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value><description>Driver class name for a JDBC metastore</description></property><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value><description>username to use against metastore database</description></property><property><name>javax.jdo.option.ConnectionPassword</name><value>root</value><description>password to use against metastore database</description></property> </configuration>

?

5.安裝hive和mysq完成后,將mysql的連接jar包拷貝到$HIVE_HOME/lib目錄下

如果出現(xiàn)沒有權(quán)限的問題,在mysql授權(quán)(在安裝mysql的機器上執(zhí)行)
mysql -uroot -p
#(執(zhí)行下面的語句 ?*.*:所有庫下的所有表 ? %:任何IP地址或主機都可以連接)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;

6. 如果hadoop使用的是2.6.4版本的,會存在Jline包版本不一致的問題,需要拷貝hive的lib目錄中jline.2.12.jar的jar包替換掉hadoop中的

/home/hadoop/app/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar

?

如果是hadoop-2.8.0版本的,發(fā)現(xiàn)在/home/tuzq/software/hadoop-2.8.0/share/hadoop/yarn/lib下沒有jline-2.12.jar

?

下面的命令是查看HIVE中的jline的版本號的方式:

[root@hadoop1 lib]# cd $HIVE_HOME/lib
[root@hadoop1 lib]# ls jline-2.12.jar?
jline-2.12.jar
[root@hadoop1 lib]#

?

將創(chuàng)建好的hive遠程拷貝到hadoop2,hadoop3,hadoop4,hadoop5服務器上的相同位置

scp -r /home/tuzq/software/hive* root@hadoop2:/home/tuzq/software/

scp -r /home/tuzq/software/hive* root@hadoop3:/home/tuzq/software/

scp -r /home/tuzq/software/hive* root@hadoop4:/home/tuzq/software/

scp -r /home/tuzq/software/hive* root@hadoop5:/home/tuzq/software/

使用schematool初始化hive的表

cd?/home/bigdata/installed/hive-2.3.2/bin

然后執(zhí)行:

[bigdata@bigdata1 bin]$ ./schematool -dbType mysql -initSchema

?

為了解決hive出現(xiàn)的亂碼,解決辦法是:

因為我們知道?metastore?支持數(shù)據(jù)庫級別,表級別的字符集是?latin1,那么我們只需要把相應注釋的地方的字符集由?latin1?改成?utf-8,就可以了。用到注釋的就三個地方,表、分區(qū)、視圖。如下修改分為兩個步驟:

執(zhí)行下面的操作:

(1)、進入數(shù)據(jù)庫?Metastore?中執(zhí)行以下?5?條?SQL?語句?
?

?①修改表字段注解和表注解
alter table COLUMNS_V2 modify column COMMENT varchar(256) character?set utf8
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000)?character set utf8
②?修改分區(qū)字段注解:
alter table PARTITION_PARAMS modify column PARAM_VALUE?varchar(4000) character set utf8 ;
alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000)?character set utf8;
③修改索引注解:
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000)?character set utf8;

啟動hive
bin/hive

?

執(zhí)行完成之后,到mysql中進行查看,發(fā)現(xiàn)現(xiàn)象如下:

?

另外:通過Hive beeline也可以訪問hive:

---Beeline要與HiveServer2配合使用,支持嵌入式模式和遠程模式

--啟動HiverServer2 ,./bin/hiveserver2

命令模式:

hive?--service hiveserver2 --hiveconf?hive.server2.thrift.port=10001

最后面的port可以更改,hiveserver2默認的端口號是10000。beeline的退出方式:!quit

[root@hadoop1 apache-hive-1.2.1-bin]# bin/beeline?
Beeline version 1.2.1 by Apache Hive
beeline> !connect jdbc:hive2://hadoop1:10000
Connecting to jdbc:hive2://hadoop1:10000
Enter username for jdbc:hive2://hadoop1:10000:?
Enter password for jdbc:hive2://hadoop1:10000:?
Connected to: Apache Hive (version 1.2.1)
Driver: Hive JDBC (version 1.2.1)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://hadoop1:10000> show databases;
+----------------+--+
| database_name ?|
+----------------+--+
| default ? ? ? ?|
| mydb ? ? ? ? ? |
| userdb ? ? ? ? |
| userdb2 ? ? ? ?|
| userdb3 ? ? ? ?|
+----------------+--+
5 rows selected (0.709 seconds)
0: jdbc:hive2://hadoop1:10000>

?

啟動hiveserver2 和?hivemetastore

?

[root@bigdata1 hive-2.3.2]# cd $HIVE_HOME/bin

hivemetastore ? 啟動方式: nohup hive --service metastore &

hiveserver2 ? ? ? ?啟動方式:? nohup?hive --service hiveserver2 &
----------------------------------------------------------------------------------------------------

查看有哪些表:

[root@hadoop1 apache-hive-1.2.1-bin]# bin/hive

Logging initialized using configuration in jar:file:/home/tuzq/software/hive/apache-hive-1.2.1-bin/lib/hive-common-1.2.1.jar!/hive-log4j.properties
hive> show databases;
OK
default
Time taken: 0.98 seconds, Fetched: 1 row(s)
hive> create database db1; #創(chuàng)建一個數(shù)據(jù)庫
OK
Time taken: 0.239 seconds
hive> show databases; #顯示所有的數(shù)據(jù)庫
OK
db1
default
Time taken: 0.015 seconds, Fetched: 2 row(s)
hive>

?

然后進入hdfs上進行查看http://hadoop1:50070/ :

?

6.建表(默認是內(nèi)部表)

use db1;?

hive> create table trade_detail(id bigint,account string,income double,expense double,time string)

row format delimited fields terminated by '\t';

進入hdfs進行查看:

select nation, avg(size) from beauties group by nation order by avg(size);

注意:如果在此過程中獲取的結(jié)果是NULL的,說明創(chuàng)建表的時候需要加上:lines terminated by '\n'?

如果想通過drop table if exists table_name刪除表時刪除不了,請換$HIVE_HOME/lib中的mysql-connector-java。比如我使用的是:mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz,開始的時候使用的是mysql-connector-java-5.1.7.jar,最后換成mysql-connector-java-5.1.38.jar,發(fā)現(xiàn)就可以drop表了。

?

查看database,刪除數(shù)據(jù)庫

以下是使用CASCADE查詢刪除數(shù)據(jù)庫。這意味著要全部刪除相應的表在刪除數(shù)據(jù)庫之前:

hive> show databases;
OK
default
mydb
userdb
userdb2
userdb3

Time taken: 0.962 seconds, Fetched: 5 row(s)
hive> drop database IF EXISTS ?userdb3 CASCADE;
OK
Time taken: 0.203 seconds

hive> show databases;
OK
default
mydb
userdb
userdb2

Time taken: 0.014 seconds, Fetched: 4 row(s)
hive>

?

修改表

Alter Table語句,它是在Hive中用來修改表的

語法:

?

ALTER TABLE name RENAME TO new_name ALTER TABLE name ADD COLUMNS (col_spec[, col_spec ...]) ALTER TABLE name DROP [COLUMN] column_name ALTER TABLE name CHANGE column_name new_name new_type ALTER TABLE name REPLACE COLUMNS (col_spec[, col_spec ...])(col_spec[, col_spec ...]) ALTER TABLE name DROP [COLUMN] column_name ALTER TABLE name CHANGE column_name new_name new_type ALTER TABLE name REPLACE COLUMNS (col_spec[, col_spec ...])

?

hive> show tables;
OK
testhivedrivertable
Time taken: 0.029 seconds, Fetched: 1 row(s)
hive> ALTER TABLE testhivedrivertable RENAME To testHive;
OK
Time taken: 0.345 seconds
hive> show tables;
OK
testhive
Time taken: 0.031 seconds, Fetched: 1 row(s)

?

修改列中列的類型:

hive> desc testhive;
OK
key ? ? ? ? ? ? ? ? int ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
value ? ? ? ? ? ? ?string ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Time taken: 0.161 seconds, Fetched: 2 row(s)

hive> ALTER TABLE testhive CHANGE value? Double;
OK
Time taken: 0.251 seconds
hive> desc testhive;
OK
key ? ? ? ? ? ? ? ? int ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
value ? ? ? ? ? ? ? double ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Time taken: 0.126 seconds, Fetched: 2 row(s)
hive>

?

為表添加一列:

hive> ALTER TABLE testhive ADD COLUMNS (dept STRING COMMENT 'Departname name');
OK
Time taken: 0.219 seconds
hive> desc testhive;
OK
key ? ? ? ? ? ? ? ? int ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
value ? ? ? ? ? ? ? double ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
dept ? ? ? ? ? ? ? ? string ? ? ? ? ? ? ? Departname name ? ??
Time taken: 0.09 seconds, Fetched: 3 row(s)
hive>

?

刪除表

刪除表的語法是:

hive>DROP TABLE IF EXISTS testhive;

?

創(chuàng)建分區(qū)

Hive組織表到分區(qū)。它是將一個表到基于分區(qū)列,如日期,城市和部門的值相關(guān)方式。使用分區(qū),很容易對數(shù)據(jù)進行部分查詢。很容易對數(shù)據(jù)進行部分查詢。

表或分區(qū)是細分成桶,以提供額外的結(jié)構(gòu),可以使用更搞笑的查詢的數(shù)據(jù)。桶的工作是基于表的一些列的散列函數(shù)值。

?

添加分區(qū),語法是:

ALTER TABLE table_name ADD [IF NOT EXISTS] PARTITION partition_spec
[LOCATION 'location1'] partition_spec [LOCATION 'location2'] ...;
partition_spec:
:(p_column = p_col_value, p_column = p_col_value, ...)

?

先做準備工作,創(chuàng)建表:

CREATE TABLE IF NOT EXISTS employee (eid int, name String,
? ? destination String)
? ? partitioned by (salary String)
? ? ROW FORMAT DELIMITED
? ? FIELDS TERMINATED BY '\t'
? ? LINES TERMINATED BY '\n'
? ? STORED AS TEXTFILE;

hive>desc employee;

?

經(jīng)過上面步驟,表已經(jīng)添加了一個分區(qū)

導入數(shù)據(jù):

[root@hadoop1 hivedata]# cat /home/tuzq/software/hivedata/sample.txt?
1201 pal 45000 Technical manager
1202 Manisha 45000 Proof reader
[root@hadoop1 hivedata]#

將上面的數(shù)據(jù)導入到分區(qū):

LOAD DATA LOCAL INPATH '/home/tuzq/software/hivedata/sample.txt' INTO TABLE employee PARTITION(salary = '45000');

注意上滿的紅字,表示將數(shù)據(jù)到如45000這個分區(qū)中。

在hdfs上的效果如下:

http://hadoop1:50070/explorer.html#/user/hive/warehouse/userdb.db/employee

?

下面再次給表添加另外一個分區(qū)值:

ALTER TABLE employee ADD PARTITION (salary ='40000') location '/40000/part40000';

添加location之后,它在HDFS上的位置將會改變,將會到/40000/part40000中。效果圖如下:

http://hadoop1:50070/explorer.html#/40000/part40000

?

創(chuàng)建2個分區(qū)的方式:

雙分區(qū)建表語句:

create table table_name (id int, content string) partitioned by (dt string, hour string);

雙分區(qū)表,按天和小時分區(qū),在表結(jié)構(gòu)中新增加了dt和hour兩列。
先以dt為文件夾,再以hour子文件夾區(qū)分

?

查看分區(qū)語句:

hive> show partitions employee;
OK
salary=40000
salary=45000
Time taken: 0.088 seconds, Fetched: 2 row(s)
hive>

?

再如:

建分區(qū)表
hive> create table td_part(id bigint,account string,income double,expenses double,time string)?

? ? ? ? ? ? ? ? ? ? partitioned by (logdate string)row format delimited fields terminated by '\t';
? ? ? ?OK
? ? ? ?Time taken: 0.114 seconds
? ? ? ?hive>?show tables;
? ? ? ?OK
? ? ? ?td_part
? ? ? ?trade_detail
? ? ? ?Time taken: 0.021 seconds, Fetched: 2 row(s)

? ? ? ?hive>

?

建外部表
create external table td_ext(id bigint, account string, income double, expenses double, time string) row format delimited fields terminated by '\t' location '/td_ext';


7.創(chuàng)建分區(qū)表
普通表和分區(qū)表區(qū)別:有大量數(shù)據(jù)增加的需要建分區(qū)表
hive> create table book(id bigint,name string) partitioned by (pubdate string) row format delimited fields terminated by '\t';
OK
Time taken: 0.108 seconds
hive> show tables;
OK
book
td_part-
trade_detail
Time taken: 0.02 seconds, Fetched: 3 row(s)
hive>



分區(qū)表加載數(shù)據(jù)
load data local inpath './book.txt' overwrite into table book partition (pubdate='2010-08-22');

load data local inpath '/root/data.am' into table beauty partition (nation="USA");

?

創(chuàng)建視圖和索引

視圖在Hive的用法和SQL視圖用法相同。它是一個標準的RDBMS概念。我們可以在視圖上執(zhí)行DML操作。

創(chuàng)建視圖的語法如下:

CREATE VIEW [IF NOT EXISTS] view_name [(column_name [COMMENT column_comment], ...) ]
[COMMENT table_comment]
AS SELECT ...

?

hive> desc employee;
OK
eid ? ? ? ? ? ? ? ? int ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
name ? ? ? ? ? ? ? ? string ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
destination ? ? ? ? string ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
salary ? ? ? ? ? ? ? string ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
# Partition Information ?
# col_name ? ? ? ? ? ? data_type ? ? ? ? ? comment ? ? ? ? ? ??
?
salary ? ? ? ? ? ? ? string ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Time taken: 0.08 seconds, Fetched: 9 row(s)
hive> create VIEW emp_45000 AS
? ? > SELECT * FROM employee
? ? > WHERE salary = 45000;

刪除一個視圖的方式:

hive > DROP VIEW emp_45000;

?

創(chuàng)建索引:

創(chuàng)建索引的語法如下:

CREATE INDEX index_name
ON TABLE base_table_name (col_name, ...)
AS 'index.handler.class.name'
[WITH DEFERRED REBUILD]
[IDXPROPERTIES (property_name=property_value, ...)]
[IN TABLE index_table_name]
[PARTITIONED BY (col_name, ...)]
[
? ?[ ROW FORMAT ...] STORED AS ...
? ?| STORED BY ...
]
[LOCATION hdfs_path]
[TBLPROPERTIES (...)]

?

HIVE的四種數(shù)據(jù)導入方式:

HIVE的幾種常見的數(shù)據(jù)導入方式,這里介紹四種:

(1)、從本地文件系統(tǒng)中導入數(shù)據(jù)到Hive表;

(2)、從HDFS上導入數(shù)據(jù)到Hive表

(3)、從別的表中查詢出相應的數(shù)據(jù)并導入到Hive表中。

(4)、在創(chuàng)建表的時候通過從別的表中查詢出相應的記錄并插入到所創(chuàng)建的表中。

一、從本地文件系統(tǒng)中導入數(shù)據(jù)到Hive

先在Hive里面創(chuàng)建好表,如下:

hive> create table wyp(id int,name string,age int,tel string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' lines terminated by '\n' STORED AS TEXTFILE;

注意上面的:ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' ? ? ?注意這個分割的字符,若是設置的不好,最后能夠插入數(shù)據(jù)庫,但是select出來的結(jié)果是NULL.

?

這個表很簡單,只有四個字段。本地文件系統(tǒng)里有/home/tuzq/software/hive/apache-hive-1.2.1-bin/wyp.txt 文件,內(nèi)容如下:
[root@hadoop1 apache-hive-1.2.1-bin]# pwd
/home/tuzq/software/hive/apache-hive-1.2.1-bin
[root@hadoop1 apache-hive-1.2.1-bin]# cat wyp.txt?
1 wyp 25 13188888888888
2 test 30 13888888888888
3 zs 34 899314121
[root@hadoop1 apache-hive-1.2.1-bin]#

?

wyp.txt文件中的數(shù)據(jù)列之間使用空格分割的,可以通過下面的語句將這個文件里面的數(shù)據(jù)導入到wyp表里面,操作如下:

hive> load data local inpath '/home/tuzq/software/hive/apache-hive-1.2.1-bin/wyp.txt' into table wyp;
Loading data to table default.wyp
Table default.wyp stats: [numFiles=1, totalSize=67]
OK
Time taken: 0.35 seconds
hive> select * from wyp;
OK
1 wyp 25 13188888888888
2 test 30 13888888888888
3 zs 34 899314121
Time taken: 0.086 seconds, Fetched: 3 row(s)
hive>

?

?

這樣就將wyp.txt里面的內(nèi)容導入到wyp表里面去了,可以到wyp表的數(shù)據(jù)目錄下查看,http://hadoop1:50070/explorer.html#/user/hive/warehouse/db1.db:

?

?

?

二、HDFS上導入數(shù)據(jù)到hive

? ? 從本地文件系統(tǒng)中將數(shù)據(jù)導入到Hive表的過程中,其實是先將數(shù)據(jù)臨時復制到HDFS的一個目錄下(典型的情況是復制到上傳用戶的HDFS的目錄下,比如/根目錄下),然后在將數(shù)據(jù)從那個臨時目錄下移動(注意,這里說的是移動,不是復制)到對應的數(shù)據(jù)目錄里面。既然如此,那么Hive肯定支持將數(shù)據(jù)直接從HDFS上的一個目錄移動到相應Hive表的數(shù)據(jù)目錄下,假設有這個文件/add.txt,具體的操作如下:

[root@hadoop1 apache-hive-1.2.1-bin]# ls

add.txt ?bin ?book.txt ?conf ?examples ?hcatalog ?lib ?LICENSE ?NOTICE ?README.txt ?RELEASE_NOTES.txt ?scripts ?wyp.txt

[root@hadoop1 apache-hive-1.2.1-bin]# vim add.txt

?[root@hadoop1 apache-hive-1.2.1-bin]# hdfs dfs -put add.txt /

[root@hadoop1 apache-hive-1.2.1-bin]# hdfs dfs -ls /

Found 4 items-rw-r--r-- ? 3 root supergroup ? ? ? ? 67 2017-06-11 11:34 /add.txt

-rw-r--r-- ? 3 root supergroup ? ? ? 3719 2017-06-10 12:11 /kms.sh

drwx-wx-wx ? - root supergroup ? ? ? ? ?0 2017-06-10 22:06 /tmp

drwxr-xr-x ? - root supergroup ? ? ? ? ?0 2017-06-10 22:27 /user

[root@hadoop1 apache-hive-1.2.1-bin]# hdfs dfs -cat /add.txt

4 wyp?

25 131888888888885 test?30 138888888888886 zs?34 899314121

[root@hadoop1 apache-hive-1.2.1-bin]#

上面是需要插入數(shù)據(jù)的內(nèi)容,這個文件時存放在HDFS上/add.txt里面的(和一中提到的不同,一中提到的文件是存放在本地文件系統(tǒng)上,并且在load數(shù)據(jù)的時候加上了關(guān)鍵字local),我們可以同通過下面的命令將這個文件里面的內(nèi)容導入到Hive表中,具體操作如下:

hive> select * from wyp;

OK1 wyp

25 131888888888882 test 30 138888888888883 zs 34 899314121

Time taken: 0.086 seconds, Fetched: 3 row(s)

hive> load data inpath '/add.txt' into table wyp;

Loading data to table default.wypTable default.wyp stats: [numFiles=2, totalSize=134]OKTime taken: 0.283 seconds

hive> select * from wyp;

OK4 wyp

25 131888888888885 test

30 138888888888886 zs

34 8993141211 wyp

25 131888888888882 test

30 138888888888883 zs

34 899314121

Time taken: 0.076 seconds, Fetched: 6 row(s)

hive>?

從上面的執(zhí)行結(jié)果我們可以看到,數(shù)據(jù)的確導入到wyp表中了!請注意 load data inpath '/add.txt' into table wyp; 里面沒有l(wèi)ocal這個單詞,這個是和一中的區(qū)別。? ??

?

?

?

?

三、從別的表中查詢出相應的數(shù)據(jù)并導入到Hive表中

?

假設Hive中有test表,其建表語句如下所示:

?

?

  • hive> create table test(
  • ? ? > id int, name string
  • ? ? > ,tel string)
  • ? ? > partitioned by
  • ? ? > (age int)
  • ? ? > ROW FORMAT DELIMITED
  • ? ? > FIELDS TERMINATED BY '\t'
  • ? ? > STORED AS TEXTFILE;
  • OK
  • Time taken: 0.261 seconds
  • 復制代碼


    大體和wyp表的建表語句類似,只不過test表里面用age作為了分區(qū)字段。對于分區(qū),這里在做解釋一下:

    ?

    ?

    ?

    分區(qū):在Hive中,表的每一個分區(qū)對應表下的相應目錄,所有分區(qū)的數(shù)據(jù)都是存儲在對應的目錄中。比如wyp表有dt和city兩個分區(qū),則對應dt=20131218,city=BJ對應表的目錄為/user/hive/warehouse/dt=20131218/city=BJ,所有屬于這個分區(qū)的數(shù)據(jù)都存放在這個目錄中。


    下面語句就是將wyp表中的查詢結(jié)果并插入到test表中:

    ?

    ?

  • hive> insert into table test
  • ? ? > partition (age='25')
  • ? ? > select id, name, tel
  • ? ? > from wyp;
  • #####################################################################
  • ? ?? ?? ???這里輸出了一堆Mapreduce任務信息,這里省略
  • #####################################################################
  • Total MapReduce CPU Time Spent: 1 seconds 310 msec
  • OK
  • Time taken: 19.125 seconds
  • ?
  • hive> select * from test;
  • OK
  • 5? ?? ? wyp1? ? 131212121212? ? 25
  • 6? ?? ? wyp2? ? 134535353535? ? 25
  • 7? ?? ? wyp3? ? 132453535353? ? 25
  • 8? ?? ? wyp4? ? 154243434355? ? 25
  • 1? ?? ? wyp? ???13188888888888??25
  • 2? ?? ? test? ? 13888888888888??25
  • 3? ?? ? zs? ?? ?899314121? ?? ? 25
  • Time taken: 0.126 seconds, Fetched: 7 row(s)
  • 復制代碼

    ?

    這里做一下說明:我們知道我們傳統(tǒng)數(shù)據(jù)塊的形式insert into table values(字段1,字段2),這種形式hive是不支持的。


    通過上面的輸出,我們可以看到從wyp表中查詢出來的東西已經(jīng)成功插入到test表中去了!如果目標表(test)中不存在分區(qū)字段,可以去掉partition (age=’25′)語句。當然,我們也可以在select語句里面通過使用分區(qū)值來動態(tài)指明分區(qū):

    ?

  • hive> set hive.exec.dynamic.partition.mode=nonstrict;
  • hive> insert into table test
  • ? ? > partition (age)
  • ? ? > select id, name,
  • ? ? > tel, age
  • ? ? > from wyp;
  • #####################################################################
  • ? ?? ?? ???這里輸出了一堆Mapreduce任務信息,這里省略
  • #####################################################################
  • Total MapReduce CPU Time Spent: 1 seconds 510 msec
  • OK
  • Time taken: 17.712 seconds
  • ?
  • ?
  • hive> select * from test;
  • OK
  • 5? ?? ? wyp1? ? 131212121212? ? 23
  • 6? ?? ? wyp2? ? 134535353535? ? 24
  • 7? ?? ? wyp3? ? 132453535353? ? 25
  • 1? ?? ? wyp? ???13188888888888??25
  • 8? ?? ? wyp4? ? 154243434355? ? 26
  • 2? ?? ? test? ? 13888888888888??30
  • 3? ?? ? zs? ?? ?899314121? ?? ? 34
  • Time taken: 0.399 seconds, Fetched: 7 row(s)
  • 復制代碼


    這種方法叫做動態(tài)分區(qū)插入,但是Hive中默認是關(guān)閉的,所以在使用前需要先把hive.exec.dynamic.partition.mode設置為nonstrict。當然,Hive也支持insert overwrite方式來插入數(shù)據(jù),從字面我們就可以看出,overwrite是覆蓋的意思,是的,執(zhí)行完這條語句的時候,相應數(shù)據(jù)目錄下的數(shù)據(jù)將會被覆蓋!而insert into則不會,注意兩者之間的區(qū)別。例子如下:

    ?

    ?

    ?

  • hive> insert overwrite table test
  • ? ? > PARTITION (age)
  • ? ? > select id, name, tel, age
  • ? ? > from wyp;
  • 復制代碼


    更可喜的是,Hive還支持多表插入,什么意思呢?在Hive中,我們可以把insert語句倒過來,把from放在最前面,它的執(zhí)行效果和放在后面是一樣的,如下:

    ?

    ?

    ?

  • hive> show create table test3;
  • OK
  • CREATE??TABLE test3(
  • ??id int,
  • ??name string)
  • Time taken: 0.277 seconds, Fetched: 18 row(s)
  • ?
  • hive> from wyp
  • ? ? > insert into table test
  • ? ? > partition(age)
  • ? ? > select id, name, tel, age
  • ? ? > insert into table test3
  • ? ? > select id, name
  • ? ? > where age>25;
  • ?
  • hive> select * from test3;
  • OK
  • 8? ?? ? wyp4
  • 2? ?? ? test
  • 3? ?? ? zs
  • Time taken: 4.308 seconds, Fetched: 3 row(s)
  • 復制代碼


    可以在同一個查詢中使用多個insert子句,這樣的好處是我們只需要掃描一遍源表就可以生成多個不相交的輸出。這個很酷吧!

    ?

    ?

    四、在創(chuàng)建表的時候通過從別的表中查詢出相應的記錄并插入到所創(chuàng)建的表中

    ?

    在實際情況中,表的輸出結(jié)果可能太多,不適于顯示在控制臺上,這時候,將Hive的查詢輸出結(jié)果直接存在一個新的表中是非常方便的,我們稱這種情況為CTAS(create table .. as select)如下:

    ?

    ?

  • hive> create table test4
  • ? ? > as
  • ? ? > select id, name, tel
  • ? ? > from wyp;
  • ?
  • hive> select * from test4;
  • OK
  • 5? ?? ? wyp1? ? 131212121212
  • 6? ?? ? wyp2? ? 134535353535
  • 7? ?? ? wyp3? ? 132453535353
  • 8? ?? ? wyp4? ? 154243434355
  • 1? ?? ? wyp? ???13188888888888
  • 2? ?? ? test? ? 13888888888888
  • 3? ?? ? zs? ?? ?899314121
  • Time taken: 0.089 seconds, Fetched: 7 row(s)
  • 復制代碼

    ?

    ?

    ?

    數(shù)據(jù)就插入到test4表中去了,CTAS操作是原子的,因此如果select查詢由于某種原因而失敗,新表是不會創(chuàng)建的!

    ?

    ?

    Java遠程調(diào)用hive

    ? 使用java遠程連接hive,在這個過程中需要先啟動:hiveServer2. ? (注意:org.apache.hive.jdbc.HiveDriver依賴的jar包是:hive-jdbc-1.2.1.jar)

    ?

    package hive;import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement;public class HiveCreateDb {/** hiverserver 版本使用此驅(qū)動 private static String driverName =* "org.apache.hadoop.hive.jdbc.HiveDriver";*//** hiverserver2 版本使用此驅(qū)動*/private static String driverName = "org.apache.hive.jdbc.HiveDriver";public static void main(String[] args) throws Exception {Class.forName(driverName);/* hiverserver 版本jdbc url格式,主要體現(xiàn)在jdbc:hive:// */// Connection con =// DriverManager.getConnection("jdbc:hive://hadoop1:10000/default", "",// "");/* hiverserver2 版本jdbc url格式,主要體現(xiàn)在jdbc:hive2:// */Connection con = DriverManager.getConnection("jdbc:hive2://hadoop1:10000/default", "", "");Statement stmt = con.createStatement();// 下面的這一句如果在沒有userdb數(shù)據(jù)庫的情況下,可以放開。// stmt.executeQuery("CREATE DATABASE userdb");// 參數(shù)設置測試// boolean resHivePropertyTest = stmt// .execute("SET tez.runtime.io.sort.mb = 128");boolean resHivePropertyTest = stmt.execute("set hive.execution.engine=tez");System.out.println(resHivePropertyTest);stmt.execute("USE userdb");String tableName = "testHiveDriverTable";try {stmt.executeQuery("drop table " + tableName);} catch (Exception e) {e.printStackTrace();}ResultSet res;try {res = stmt.executeQuery("create table " + tableName + " (key int, value string)");} catch (Exception e) {e.printStackTrace();}// show tablesString sql = "show tables '" + tableName + "'";System.out.println("Running: " + sql);res = stmt.executeQuery(sql);if (res.next()) {System.out.println(res.getString(1));}// //describe tablesql = "describe " + tableName;System.out.println("Running: " + sql);res = stmt.executeQuery(sql);while (res.next()) {System.out.println(res.getString(1) + "\t" + res.getString(2));}// load data into table// NOTE: filepath has to be local to the hive server// NOTE: /tmp/a.txt is a ctrl-A separated file with two fields per// lineString filepath = "/tmp/a.txt";sql = "load data local inpath '" + filepath + "' into table " + tableName;System.out.println("Running: " + sql);res = stmt.executeQuery(sql);// select * querysql = "select * from " + tableName;System.out.println("Running: " + sql);res = stmt.executeQuery(sql);while (res.next()) {System.out.println(String.valueOf(res.getInt(1)) + "\t" + res.getString(2));}// regular hive querysql = "select count(1) from " + tableName;System.out.println("Running: " + sql);res = stmt.executeQuery(sql);while (res.next()) {System.out.println(res.getString(1));}stmt.close();con.close();}}

    ?

    總結(jié)

    以上是生活随笔為你收集整理的HIVE的安装配置、mysql的安装、hive创建表、创建分区、修改表等内容、hive beeline使用、HIVE的四种数据导入方式、使用Java代码执行hive的sql命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    日韩精品一区二区在线观看视频 | 亚洲精品字幕在线观看 | 四虎成人免费影院 | 日本中文字幕在线播放 | 天天狠狠干 | 最新av免费在线观看 | 99爱国产精品 | 日日干激情五月 | 日韩欧美视频 | 精品国产美女在线 | 日本精品中文字幕在线观看 | 亚洲视频电影在线 | 亚洲黄网址 | 中文在线字幕观看电影 | 色婷婷丁香 | 日韩综合一区二区三区 | 国产在线看一区 | 国产小视频福利在线 | 日韩欧美电影在线观看 | 亚洲高清视频在线观看 | 亚洲国产精品一区二区久久,亚洲午夜 | 亚洲极色 | 日韩av手机在线看 | 欧美激情精品久久久久 | 日韩av高清| 久久久久久久久电影 | 一区二区电影在线观看 | 玖草在线观看 | 亚洲韩国一区二区三区 | av在线播放一区二区三区 | 久久国产精品免费观看 | 国产免费亚洲高清 | 成人小视频免费在线观看 | 国产成人亚洲在线电影 | 国产一线在线 | 国产色小视频 | 日日爽天天爽 | a黄色影院| 一区二区三区精品在线视频 | 国产日韩欧美视频在线观看 | 婷婷av网 | 国产视频精选在线 | 91精品办公室少妇高潮对白 | 久草视频在线免费看 | 热久久在线视频 | 亚洲va天堂va欧美ⅴa在线 | 久久久久国产精品一区二区 | 亚洲精品国偷拍自产在线观看蜜桃 | 日本在线观看一区二区 | 久久99这里只有精品 | 色综合在| 免费久久网站 | 在线观看成人毛片 | 在线a亚洲视频播放在线观看 | av不卡中文 | 国内精品久久影院 | 成人亚洲免费 | 操操操人人 | av中文字幕在线免费观看 | 黄色a大片 | 国产99精品在线观看 | av在线网站免费观看 | 国产一级二级av | 日本xxxx裸体xxxx17 | 国产亚洲亚洲 | 中文字幕一区二区三区四区 | 一区二区视频在线观看免费 | 亚洲日本va午夜在线影院 | 一区二区视频在线观看免费 | a视频在线播放 | 精品高清美女精品国产区 | 日韩精品最新在线观看 | 一区二区三区久久 | 久久久人 | 在线看黄网站 | 免费在线观看日韩欧美 | 欧美日韩一级视频 | 久久久国产精品麻豆 | 91亚色免费视频 | 少妇高潮冒白浆 | 日韩av手机在线看 | 在线黄频 | 久久精品国产第一区二区三区 | 在线免费中文字幕 | 18久久久久久 | av中文字幕av | 91在线精品秘密一区二区 | 国产精品一区二区三区四区在线观看 | 美女一级毛片视频 | 国产成人精品一区二区三区福利 | 综合色综合 | 欧美激情另类文学 | 午夜视频色 | 欧美性色黄| 日韩三区在线 | 最新国产精品拍自在线播放 | 欧美9999| 在线v片| 久久艹人人 | 精品欧美一区二区精品久久 | 97超碰免费在线观看 | 亚洲jizzjizz日本少妇 | 91传媒在线看 | 日日干日日操 | 国产小视频免费在线观看 | 亚洲精选视频在线 | 成人在线观看网址 | 国产九九精品视频 | 国产精品18久久久久久vr | 激情丁香5月 | 日日操天天操狠狠操 | 国产亚洲永久域名 | 成人毛片在线视频 | 日韩欧美在线一区 | 久久久精品电影 | 2020天天干夜夜爽 | 亚洲专区路线二 | 久久久久欧美精品 | 成人国产精品久久久久久亚洲 | av色一区 | 91豆麻精品91久久久久久 | 欧美日韩国产精品久久 | 五月天综合网站 | 国产视频在线观看免费 | 99这里只有久久精品视频 | 狠狠色网| 中文字幕日韩精品有码视频 | 日韩精品在线播放 | 国产资源在线播放 | 制服丝袜亚洲 | 亚洲天堂网在线视频观看 | 中文字幕亚洲精品在线观看 | 婷婷中文在线 | 国产精品av一区二区 | 一区二区三区手机在线观看 | 精品久久一区二区三区 | 97av.com| 最新av网址在线 | 久久久久免费精品视频 | 在线观看免费中文字幕 | 激情av五月婷婷 | 日本系列中文字幕 | 色福利网站 | 操操操人人 | 久久久久久久福利 | 欧美性粗大hdvideo | 91最新网址在线观看 | 在线观看av片| 91干干干 | 在线看国产视频 | 亚洲成人999 | 99久久精 | 天干啦夜天干天干在线线 | 亚洲五月激情 | 综合成人在线 | 91夫妻自拍 | 日韩精品一区二区三区中文字幕 | 欧美精品亚洲精品日韩精品 | 黄色高清视频在线观看 | 色夜影院 | 国产伦理一区二区 | 国产黄色资源 | 91精品播放| 天天草天天摸 | 久久蜜臀一区二区三区av | 狠狠综合| 一级黄色大片 | 日韩欧美高清视频在线观看 | 免费在线观看视频一区 | 欧美一级特黄aaaaaa大片在线观看 | 91精品一| 亚洲国产精品小视频 | 丁香一区二区 | 日韩丝袜| 国产日本三级 | 欧美日在线| 欧美性春潮 | 国产黄色精品在线 | 国产精品人人做人人爽人人添 | 国产成人精品女人久久久 | 99久国产| 伊人精品在线 | 久久不卡免费视频 | 91热精品 | 蜜桃av人人夜夜澡人人爽 | 综合色伊人 | 亚洲色图激情文学 | 国产xx视频 | 99久久婷婷国产综合亚洲 | 国产免费国产 | 国产尤物在线观看 | 亚洲一区网 | 999国产在线 | 在线香蕉视频 | 91久久精品一区二区三区 | av电影中文 | 四虎国产永久在线精品 | 国产高清视频免费观看 | www.69xx| 国产在线美女 | 国产精品久久久久久999 | 91麻豆免费看 | 国产黄视频在线观看 | 色丁香久久 | 国产精品刺激对白麻豆99 | www.91成人 | 天干啦夜天干天干在线线 | 亚洲精品777| 青草视频网 | 国精产品满18岁在线 | 亚洲精品视频一二三 | 亚洲2019精品 | 国产一区二区三区在线 | 日韩v在线 | 超碰在线91| 久久久久国产精品www | 青青啪| 久久夜色精品国产欧美乱极品 | 麻豆精品传媒视频 | 麻花豆传媒一二三产区 | 91毛片视频 | www.夜夜| 亚洲a网 | 91视频高清 | 六月丁香婷 | 久久久高清免费视频 | 免费网站在线观看人 | 亚洲va欧美va国产va黑人 | 2018亚洲男人天堂 | 在线免费91 | 国产黄色电影 | 又粗又长又大又爽又黄少妇毛片 | 国产精品日韩欧美 | 涩涩网站在线播放 | 国产专区在线播放 | 日韩欧美有码在线 | 亚洲 欧美 成人 | av黄色在线观看 | 国产精品白浆 | 91精品视频一区二区三区 | 日韩午夜小视频 | 人人射人人澡 | 99精品国产一区二区三区麻豆 | 亚洲国产中文字幕在线视频综合 | 婷婷在线免费视频 | 成年人黄色av | 亚洲精品乱码久久久久久按摩 | 国产精品1区2区 | 国内视频 | 97视频亚洲 | 午夜国产福利在线观看 | 最近中文字幕完整视频高清1 | 欧美色图88 | 18网站在线观看 | 国产视频美女 | 日韩精品一区二区三区免费视频观看 | 久久久国内精品 | 国产精品第54页 | 久久网站av | 日韩欧美成 | 992tv在线观看网站 | 十八岁以下禁止观看的1000个网站 | 亚洲影视九九影院在线观看 | 91福利视频在线 | 丰满少妇对白在线偷拍 | 91在线91拍拍在线91 | 在线观看日韩一区 | 午夜私人影院 | 亚洲视频免费在线观看 | 日韩网站免费观看 | 久久av中文字幕片 | 久久久久国产精品www | 99在线高清视频在线播放 | 一本一本久久aa综合精品 | 亚洲综合在线视频 | 91精品爽啪蜜夜国产在线播放 | 欧美日韩不卡一区二区三区 | 日日夜夜网 | 在线免费高清一区二区三区 | 国产精品久久久久久久久久久杏吧 | 伊人色**天天综合婷婷 | 五月天中文字幕mv在线 | 一区久久久 | 91污在线 | 中文日韩在线视频 | 9999精品视频 | 国产视频一区在线播放 | 久久国产精品视频观看 | 国产精彩视频 | 国产少妇在线观看 | www日日夜夜 | 黄色电影在线免费观看 | 中文字幕在 | 99欧美精品 | 久久99精品久久久久婷婷 | 欧美日韩一区二区三区在线免费观看 | 久久国产精品区 | 超碰在线亚洲 | 在线视频福利 | 国产日产在线观看 | 亚洲天堂自拍视频 | 日韩精品中文字幕在线观看 | 99精彩视频 | 久久福利| 国产福利91精品一区 | 亚洲 欧洲 国产 日本 综合 | 国产 日韩 欧美 自拍 | 亚洲乱码一区 | 色婷婷综合久久久中文字幕 | 色国产视频 | 99这里有精品 | 欧美日韩不卡在线 | 成片免费观看视频999 | 99热这里只有精品国产首页 | 日韩字幕在线观看 | 国产高清av免费在线观看 | av资源中文字幕 | 麻豆久久 | 国产色在线视频 | 日韩免费视频在线观看 | 色片网站在线观看 | av免费看在线 | 国产精品乱码一区二区视频 | 欧美一区二区三区不卡 | 六月丁香六月婷婷 | 日韩a在线播放 | 国产精品视频全国免费观看 | 超碰在线97观看 | 久久精品国产一区二区 | 特黄特色特刺激视频免费播放 | 免费人做人爱www的视 | 97在线免费观看 | 人人爽人人爽av | 久久最新网址 | 在线99 | 免费三级影片 | 日韩高清网站 | 一本一本久久aa综合精品 | 超碰国产在线播放 | 涩涩网站在线 | 日韩一区二区三区不卡 | 国产精品久久久久9999吃药 | 亚洲成a人片在线观看网站口工 | 人人干97 | 一本一道久久a久久综合蜜桃 | 国产一二区视频 | 福利视频午夜 | 在线看毛片网站 | 五月婷婷综合在线视频 | 1000部国产精品成人观看 | 国产在线播放一区 | 开心色插 | 国产精品福利午夜在线观看 | 久草视频在线资源站 | 亚洲精选在线观看 | 99久久精品国产毛片 | 五月综合网站 | 日韩精品短视频 | 日韩精品在线一区 | 久久久精品影视 | 91色视频| 色偷偷88888欧美精品久久 | 在线 影视 一区 | 成人黄色短片 | 日b黄色片 | 又黄又刺激视频 | 九月婷婷人人澡人人添人人爽 | 91污在线| 欧美热久久 | 色综合a| 国产成人99久久亚洲综合精品 | 最新日韩视频 | 久草影视在线 | 美女黄久久 | 五月婷影院| 五月天狠狠操 | 91av社区| 国产精品一区二区 91 | 国产成人精品不卡 | 国产99久久久国产精品成人免费 | 欧洲亚洲激情 | 亚洲性视频 | 精品国产亚洲在线 | 久久精品国产久精国产 | 午夜黄色影院 | 亚洲伊人婷婷 | 国产在线精品一区二区不卡了 | 又黄又爽又色无遮挡免费 | 国产精品毛片一区二区 | 一区二区三区污 | 黄色一级大片在线观看 | 欧美日韩精品在线免费观看 | 丁香花中文字幕 | 久久国产99| 久久久久久久av麻豆果冻 | 日韩欧美一区二区三区视频 | 天天射射天天 | 日韩系列在线观看 | 国产精品视频免费 | 国产黄在线观看 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 亚洲二区精品 | 一区二精品| 国产亚洲精品精品精品 | av日韩中文 | 天干啦夜天干天干在线线 | 亚洲综合色视频在线观看 | 97国产精品一区二区 | 国产在线精 | 国产手机免费视频 | 美女视频国产 | 天天爱天天射 | 亚洲精品乱码久久久久久按摩 | 中文字幕视频一区 | 奇米网在线观看 | 日韩在线不卡视频 | 91九色porn在线资源 | 国产资源在线免费观看 | 亚洲一级久久 | 麻豆小视频在线观看 | 免费黄色特级片 | 久久久久久综合网天天 | 欧美另类xxxx | 国产乱对白刺激视频在线观看女王 | 91福利影院在线观看 | 国产成人一区在线 | 福利视频导航网址 | 亚洲精品伦理在线 | 精品在线观看一区二区 | 日韩动态视频 | 亚洲精品在线观看不卡 | 欧美激情在线网站 | 日韩草比 | 久久精品99国产国产 | 黄色av观看 | 国产成人61精品免费看片 | 中文字幕精品三级久久久 | 一区在线播放 | 狠狠综合久久 | 婷婷在线免费 | 中文字幕日韩精品有码视频 | www.在线观看视频 | 精品不卡视频 | 国产福利免费看 | 奇米影视777四色米奇影院 | www.伊人网| 我要色综合天天 | 亚洲国产免费av | 五月天亚洲精品 | 日韩二区在线观看 | 奇米影视在线99精品 | 国精产品999国精产 久久久久 | 国产成人精品亚洲日本在线观看 | 一区二区三区韩国免费中文网站 | 97精品国产手机 | 日日草av| 97免费在线观看视频 | 在线播放你懂 | 九精品 | 手机av永久免费 | 久久精彩| 亚洲三级视频 | 欧美aaa大片| 91手机在线看片 | 亚洲精品xxxx | 亚洲国产精品久久久久久 | 97精品在线 | 亚洲欧美国产日韩在线观看 | 国产精品成人一区二区三区吃奶 | 日日夜夜天天久久 | 久久99在线视频 | 色资源网免费观看视频 | 日本黄色一级电影 | 亚洲夜夜综合 | 天天五月天色 | 日韩高清免费无专码区 | 人人爽人人爽人人片 | 中文字幕欧美激情 | 精品免费一区二区三区 | 黄色一级免费 | 国产一区二区三区免费在线 | 中文字幕久久精品亚洲乱码 | 日本在线观看一区 | 日产中文字幕 | 在线日韩中文字幕 | 韩国av免费观看 | 亚洲国产精品视频在线观看 | 久青草影院 | 久久香蕉影视 | 婷婷激情综合五月天 | a黄在线观看 | 日本黄色一级电影 | 久久国产精品视频 | 国产一级免费视频 | 欧美激情另类 | 日韩色区| 天天综合网天天 | 97香蕉久久超级碰碰高清版 | 国产精品欧美久久久久三级 | 亚洲aⅴ免费在线观看 | av天天干 | 欧美另类美少妇69xxxx | 日韩欧美精品在线观看视频 | 欧美激情视频一区 | 婷香五月 | 男女激情免费网站 | 激情导航 | 日韩在线视频播放 | 成人黄色中文字幕 | 毛片一级免费一级 | 激情综合五月 | 欧美性生活久久 | 欧美一级片在线观看视频 | 婷婷色网址 | 日韩 精品 一区 国产 麻豆 | 激情文学丁香 | 久久成电影 | 麻豆免费看片 | 91中文字幕一区 | 最新国产精品亚洲 | 国产精品美女久久久久久久久久久 | 久久69精品久久久久久久电影好 | 中文字幕免费高清av | 成年人免费在线播放 | 久久久精品高清 | 美女免费视频一区二区 | 2019中文最近的2019中文在线 | 欧美日韩裸体免费视频 | 精品一区二区久久久久久久网站 | 欧美男男激情videos | 在线色吧| 在线成人高清电影 | 亚洲精品久久在线 | 日韩精品久久久久久中文字幕8 | 成人免费视频网 | 在线日韩三级 | 午夜国产福利在线观看 | a视频免费在线观看 | 99视屏 | 五月婷婷综合激情 | 国产日韩精品久久 | 中文在线中文a | 久草视频在线看 | 久久免费播放视频 | 中文字幕久久精品一区 | 狠狠gao| 国产精品一区二区三区电影 | 日韩a在线 | 精品国产一区二区三区久久影院 | 国产小视频免费在线网址 | 在线精品视频免费观看 | 日日日干 | 国产精品免费视频久久久 | 国产黄色在线网站 | 午夜免费久久看 | 五月天开心 | 麻豆91在线| 成人福利在线播放 | 欧美性极品xxxx娇小 | 丁五月婷婷 | 免费黄色网止 | 国产999精品久久久久久麻豆 | 美女网站色在线观看 | 国产69精品久久99的直播节目 | 成年人看片网站 | 亚洲乱码精品 | 狠狠狠色狠狠色综合 | 黄色国产高清 | 日韩精品在线观看视频 | 蜜臀aⅴ国产精品久久久国产 | 免费看黄在线观看 | 在线亚洲播放 | 国产日韩欧美综合在线 | 97超碰中文字幕 | 欧美另类性 | 黄色中文字幕在线 | 97在线公开视频 | 国产在线免费 | 国产一区私人高清影院 | 日韩精品专区在线影院重磅 | 国产一区欧美一区 | 91精品在线免费观看 | 国产视频18 | 中文字幕在线观看第一区 | 日日操天天射 | 色.www| 亚州精品视频 | 亚洲人成网站精品片在线观看 | 丁香六月欧美 | 九九热有精品 | 91九色蝌蚪国产 | 婷婷五天天在线视频 | 探花视频免费观看 | 91最新视频在线观看 | 国产亚洲精品久久久久久网站 | 成人h在线播放 | 69国产成人综合久久精品欧美 | 人人爽人人射 | 欧洲一区二区三区精品 | 免费在线观看的av网站 | 欧美日韩免费一区二区 | 国产vs久久 | 亚洲一区精品二人人爽久久 | 国产视频在线看 | 草久在线视频 | 99久久99视频只有精品 | 成年人三级网站 | 91精品视屏 | 国产成人精品国内自产拍免费看 | 激情欧美在线观看 | 日韩在线| www.com操| 色偷偷97 | 国产精品毛片一区二区在线看 | 国产激情小视频在线观看 | 国产精品久久久久久久免费大片 | av福利在线看 | 青青河边草免费直播 | av色综合网| 亚洲精品国内 | 久久99久久99精品免观看粉嫩 | 中文字幕av免费在线观看 | 亚洲精品观看 | 欧美日韩另类视频 | 久碰视频在线观看 | 天天视频色| 中文字幕一区av | 日韩理论视频 | 日韩中文字幕在线观看 | 久久一区二区三区国产精品 | 91禁在线观看 | 天天天天天天天操 | 91成人黄色 | 色综合久久久久综合 | 9999精品免费视频 | 久久国产精品视频免费看 | 久久久久久久久久影院 | 国产精品一区二 | 日本久久精 | 国产日韩欧美在线影视 | 久久久久久美女 | 日韩av一区二区三区在线观看 | 2019中文字幕第一页 | 国产精品色婷婷 | 日韩欧美高清 | 91一区啪爱嗯打偷拍欧美 | 中文亚洲欧美日韩 | av中文字幕日韩 | 青草草在线视频 | 一区二区精品在线 | 久久精品九色 | 国产首页 | 四虎影视成人永久免费观看亚洲欧美 | 国产做aⅴ在线视频播放 | 国产精品久久久免费看 | 中文字幕在线观看一区二区 | 97免费在线观看视频 | 国产精品自产拍在线观看中文 | 在线视频国产区 | 午夜精品一区二区三区在线播放 | 欧美一级久久久 | 草莓视频在线观看免费观看 | 在线观看黄色 | 天天干.com | 国产精品va| 成人在线免费看视频 | 久久久免费毛片 | 欧美成人亚洲 | 亚洲最大av网 | 久久成人欧美 | 久久久69| 久久免费电影网 | 欧美日韩中文在线观看 | 97超碰人人模人人人爽人人爱 | 久久五月情影视 | 在线观看日本高清mv视频 | 国产黄色看片 | 国内亚洲精品 | 国产91在线 | 美洲 | www.日韩免费 | 日本xxxx裸体xxxx17 | 久久久久五月天 | 久久久香蕉视频 | 欧美精品久久久久久久久久久 | 久久一区二区三区四区 | 99精品视频免费全部在线 | 国产高清精品在线观看 | 久久婷婷五月综合色丁香 | 国产精品永久免费 | 久久在线精品视频 | 亚洲黄色在线观看 | av网站免费看 | 女人18毛片a级毛片一区二区 | 在线观看91视频 | 99爱在线 | 中文字幕亚洲综合久久五月天色无吗'' | 一区二区三区四区精品 | 日本一区二区三区免费观看 | 色一色在线 | 免费av观看 | 午夜色性片 | 成人va在线观看 | 精品中文字幕在线播放 | h动漫中文字幕 | 欧美激情第28页 | 色五婷婷 | 玖玖玖国产精品 | 午夜少妇av | 亚洲免费视频观看 | 深夜免费福利网站 | 久久婷婷亚洲 | 有没有在线观看av | 人人藻人人澡人人爽 | 日韩中文字幕视频在线观看 | 免费在线观看日韩视频 | 国产视频1 | 欧美一区二区三区免费看 | 在线观看 国产 | 91激情| 99精品色 | 色偷偷av男人天堂 | 国产男女爽爽爽免费视频 | 香蕉在线播放 | 91精品久久久久久久久久入口 | 日韩视频一区二区在线 | 18国产精品福利片久久婷 | av 一区 二区 久久 | 日韩在线观看中文字幕 | 一区二区三区四区久久 | 天天操天天射天天添 | 欧美一区二区三区在线播放 | 国产91精品在线播放 | 久久国产精品久久w女人spa | 欧美极品久久 | 92av视频 | 日本精品在线视频 | 97超碰资源总站 | 久草在线中文视频 | 中文字幕在线观看免费高清电影 | 在线一区观看 | 91黄色免费看 | 久久久精品国产免费观看一区二区 | 在线不卡的av | 91少妇精拍在线播放 | 丁香六月久久综合狠狠色 | 国内精品美女在线观看 | www免费 | 亚洲精品网页 | av 一区二区三区四区 | 欧美日韩在线看 | 成年人免费在线观看网站 | 欧美性色综合 | 久久色中文字幕 | 黄免费在线观看 | 99视频网站 | 免费大片av | 麻豆传媒在线免费看 | 992tv人人网tv亚洲精品 | 国产免费久久久久 | 久久精品久久久精品美女 | 去看片| 日韩高清一 | 日韩av影片在线观看 | 国产精品久久久久婷婷二区次 | 中文字幕丰满人伦在线 | 国产高清在线a视频大全 | 国产成人久久精品一区二区三区 | 久99久视频 | 啪啪免费观看网站 | 国产精品午夜久久久久久99热 | 国产精品18毛片一区二区 | 国产成人一级 | 婷婷丁香色 | 国产在线不卡精品 | 四虎天堂 | 亚洲最新av在线网址 | 97av超碰| 久久综合五月天婷婷伊人 | 日韩视频一区二区三区 | 97在线精品国自产拍中文 | 成人97视频一区二区 | 在线观看mv的中文字幕网站 | 99久久精品一区二区成人 | 国产一区二区电影在线观看 | 黄色av一级 | av字幕在线| 一区二区三区四区精品 | 国产在线美女 | 久久免费在线 | 久久在线| 五月婷婷一区二区三区 | 美女久久久久 | 成人影片免费 | 中文字幕在线免费97 | 天天干,天天干 | 96av在线视频 | 黄色小说在线免费观看 | 夜夜视频 | 欧美精品少妇xxxxx喷水 | 人人舔人人干 | 九九热国产 | 亚洲aaa毛片 | 国产原创91| 色综合久久88色综合天天 | 国产视频在线观看一区 | 久久久久99999| 国产福利91精品 | 日韩在线电影一区 | 国产精品99久久免费观看 | 天天射成人 | 成人91视频| 久久黄色片 | 婷婷九九 | 国产第一页福利影院 | 久久久久国产视频 | 国产精品69av | 国产在线高清视频 | 国产老妇av | 亚洲成av人片在线观看 | 午夜999| 狠狠色丁香久久婷婷综合丁香 | 手机av电影在线观看 | 欧美片网站yy | 超碰99在线 | 三级黄色a| 成人免费亚洲 | 91福利社区在线观看 | 日韩在线网 | adn—256中文在线观看 | 日韩美在线 | 亚洲精品日韩在线观看 | 国产精品一区二区在线观看 | 三级黄色网络 | 日韩av电影一区 | 久久综合九色综合网站 | 狠狠躁18三区二区一区ai明星 | 天天色天天色天天色 | 亚洲精品乱码久久久久久按摩 | 国产资源网站 | 久久综合久久久久88 | 丁香婷婷深情五月亚洲 | 国产精品久久久一区二区 | 四虎永久国产精品 | av成人资源 | 超碰97公开| 一区二区三区在线免费 | 91视频在线国产 | 最新国产精品久久精品 | 最近中文字幕第一页 | 久久天天躁夜夜躁狠狠躁2022 | 欧美日韩伦理在线 | 亚洲国产av精品毛片鲁大师 | 超碰999 | 精品国产乱码一区二 | 4438全国亚洲精品在线观看视频 | 91最新网址 | 国产一区二区在线播放视频 | 成人毛片在线观看视频 | 欧美一级日韩免费不卡 | 亚洲做受高潮欧美裸体 | 超碰97国产精品人人cao | 涩av在线| 久久久久女教师免费一区 | 久久99热精品这里久久精品 | 久久国产亚洲视频 | www.五月婷婷 | 男女激情麻豆 | 六月丁香在线视频 | 亚洲国产日韩欧美在线 | 国产色网站 | 激情综合五月天 | 国产小视频在线播放 | 欧美久久久久久久久久久 | 国产精品久久久久久久久费观看 | 日韩午夜在线播放 | 麻豆视频www | 超碰官网 | 2019av在线视频 | 国产精品国产亚洲精品看不卡15 | 日韩精品 在线视频 | 日日草夜夜操 | 欧美日韩中文视频 | 激情欧美一区二区三区免费看 | 夜夜澡人模人人添人人看 | 欧美日韩在线视频免费 | 99久久99热这里只有精品 | 欧美成人基地 | 久久久久久久久久久影院 | 在线播放一区二区三区 | 国产一级大片免费看 | 国产亚洲精品久久久久久电影 | 亚洲国产中文字幕在线观看 | www.成人精品 | 欧美色就是色 | 97成人资源站 | 九九热视频在线播放 | 中文字幕在线观看你懂的 | 日韩欧美一区二区三区视频 | 免费欧美 | 日日干日日操 | 久久香蕉国产精品麻豆粉嫩av | 黄污视频网站大全 | 国产精品久久久久av福利动漫 | 97免费在线观看视频 | 人人干网站| 中文字幕精品www乱入免费视频 | 在线观看香蕉视频 | 99热超碰在线 | 天天玩天天操天天射 | 免费观看www7722午夜电影 | 亚洲国产视频直播 | 五月婷婷激情综合网 | 亚洲理论片 | 蜜臀久久99精品久久久酒店新书 | 欧美analxxxx | 天天插天天色 | 国产精品久久中文字幕 | 国产精品久久久久aaaa九色 | 成人手机在线视频 | 高清免费在线视频 | 亚洲精选99 | 亚洲精品玖玖玖av在线看 | 国产在线91精品 | 国精产品一二三线999 | 婷婷丁香七月 | 日韩在线视频一区 | 欧美专区国产专区 | 91人人视频在线观看 | 日韩精品一区二区三区免费观看 | 亚洲精品国偷拍自产在线观看 | 中文字幕在线网址 | 欧美九九九 | 亚洲精品黄色 | 免费看一级特黄a大片 | 久久99热这里只有精品 | 在线视频app | 免费黄色小网站 | 天天干一干 | 亚洲精品大全 | 亚洲高清精品在线 | 91系列在线 | 成人黄色中文字幕 | 久久成人午夜视频 | 久久久久国产精品免费免费搜索 | 亚洲伊人色 | 97视频在线免费播放 | 久久综合桃花 | 日韩在线大片 | 午夜久久影院 | 日韩最新av| 国产精品久久久久av福利动漫 | 国产99久久久久久免费看 | 国产精品99久久久精品 | 欧美激情第28页 | 久久爱综合 | 国产成人精品在线 | 亚洲天堂网在线视频观看 | 91成人免费看| 国语精品免费视频 | 亚洲精品视频在线 | 婷婷av色综合 | 66av99精品福利视频在线 | 粉嫩aⅴ一区二区三区 | 日本在线观看一区 | 97精品超碰一区二区三区 | 天天色天天操综合网 | 九九久久国产 | 久久精品视频在线播放 | 久久视频这里有精品 | 久久久久久久久久久久久9999 | 黄色精品一区 | 中文字幕免费观看全部电影 | 丝袜网站在线观看 | 国产成人三级 | 91久久影院 | 亚洲在线精品视频 | 精品久久久成人 | 日本精品久久久一区二区三区 | 久久久久久久久久久网 | 国产在线观看网站 | 国产精品一区二区久久久久 | 玖玖999| 福利一区二区三区四区 | 婷婷色社区 | 涩涩在线 | 久久精彩 | 日韩高清在线一区 | 久久国产经典视频 | 欧美日韩免费在线观看视频 | 中文字幕乱码电影 | 亚洲天天在线日亚洲洲精 | 成人免费观看电影 | 亚洲高清精品在线 | 国产精品久久久久久久久久久免费 | 久久免费视频5 | 综合天堂av久久久久久久 | 久久九九免费 | 国产成人一区二区三区影院在线 |