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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Impala介绍,Impala架构,Impala安装,impala Shell ,分区创建,refresh,load数据,获取数据的元数据

發布時間:2024/9/27 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Impala介绍,Impala架构,Impala安装,impala Shell ,分区创建,refresh,load数据,获取数据的元数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 Impala

Impala是Cloudera公司主導開發的新型查詢系統,它提供SQL語義,能查詢存儲在Hadoop的HDFS和HBASE中的PB級大數據。已有的Hive系統雖然也提供了SQL語義,但由于Hive底層執行使用的是MapReduce引擎,仍然是一個批處理過程,難以滿足查詢的交互性。相比之下,Impala的最大特點也是最大賣點就是它的快速。

Impala到底是什么?
Impala是用于處理存儲在Hadoop集群中的大量數據的MPP(大規模并行處理)SQL查詢引擎。 它是一個用C ++和Java編寫的開源軟件。 與其他Hadoop的SQL引擎相比,它提供了高性能和低延遲。
換句話說,Impala是性能最高的SQL引擎(提供類似RDBMS的體驗),它提供了訪問存儲在Hadoop分布式文件系統中的數據的最快方法。

1.1 Impala介紹

1.1.1 優點

  • Impala不需要把中間結果寫入磁盤,省掉了大量的I/O開銷。
  • 省掉了MapReduce作業啟動的開銷。MapReduce啟動task的速度很慢(默認每個心跳間隔是3秒鐘),Impala直接通過相應的服務進程來進行作業調度,速度快了很多。
  • Impala完全拋棄了MapReduce這個不太適合做SQL查詢的范式,而是像Dremel一樣借鑒了MPP(大規模并行處理)并行數據庫的思想另起爐灶,因此可做更多的查詢優化,從而省掉不必要的shuffle、sort等開銷。
  • 通過使用LLVM來統一編譯運行時代碼,避免了為支持通用編譯而帶來的不必要開銷。
  • 用C++實現,做了很多有針對性的硬件優化,例如使用SSE指令。
  • 使用了支持Data locality的I/O調度機制,盡可能地將數據和計算分配在同一臺機器上進行,減少了網絡開銷。
  • 基于Hive使用內存計算,兼顧數據倉庫、具有實時、批處理、多并發等優點。
  • 是CDH平臺首選的PB級大數據實時查詢分析引擎。
  • Impala的特點

    Impala快的原因:1、2、3、6
    1.基于內存進行計算,能夠對PB級數據進行交互式實時查詢、分析。
    2.無需轉換為MR,直接讀取HDFS及Hbase數據,從而大大降低了延遲。
    Impala沒有MapReduce批處理,而是通過使用與商用并行關系數據庫中類似的分布式查詢引擎(由Query Planner、Query Coordinator和Query Exec Engine三部分組成)
    3.LLVM統一編譯運行(在底層對硬件進行優化,LLVM:編譯器,比較穩定,效率高)
    4.兼容HiveSQL
    支持hive基本的一些查詢等,hive中的一些復雜結構是不支持的。
    5.具有數據倉庫的特征,可對hive數據直接做數據分析。
    6.支持Data Local (數據本地化:無需數據移動,減少數據的傳輸)
    7.支持列式存儲(可以和Hbase整合:因為Hive可以和Hbase整合)
    8.支持JDBC/ODBC遠程訪問。

    1.1.2 Impala劣勢

    1.對內存依賴大
    只在內存中計算,官方建議128G(一般64基本滿足)、可優化:各個節點匯總的節點(服務器)內存選用大的,不匯總節點可小點。
    2、C++編寫 開源?
    對java,C++可能不是很了解
    3、完全依賴hive
    4、實踐過程中分區超過1w,性能嚴重下下降。
    定期刪除沒有必要的分區,保證分區的個數不要太大。
    5、穩定性不如hive
    因為全在內存中計算,內存不夠,會出現問題,hive內存不夠,可以使用外存。

    1.2 Impala的缺點

    Impala不提供任何對序列化和反序列化的支持。
    Impala只能讀取文本文件,而不能讀取自定義二進制文件。
    每當新的記錄/文件被添加到HDFS中的數據目錄中,該表需要被刷新。

    1.2.1 功能

    Impala可以根據Apache許可證作為開源免費提供。
    Impala支持內存中數據處理,它訪問/分析存儲在Hadoop數據節點上的數據,而無需數據移動。
    使用類SQL查詢訪問數據。
    Impala為HDFS中的數據提供了更快的訪問。
    可以將數據存儲在Impala存儲系統中,如Apache HBase和Amazon s3。
    Impala支持各種文件格式,如LZO,序列文件,Avro,RCFile和Parquet。

    1.2.2 關系數據庫和Impala

    Impala使用類似于SQL和HiveQL的Query語言。 下表描述了SQL和Impala查詢語言之間的一些關鍵差異。

    1.2.3 Hive,Hbase和Impala

    雖然Cloudera Impala使用與Hive相同的查詢語言,元數據和用戶界面,但在某些方面它與Hive和HBase不同。 下表介紹了HBase,Hive和Impala之間的比較分析。

    所有這三個數據庫 -
    ? 是NOSQL數據庫。
    ? 可用作開源。
    ? 支持服務器端腳本。
    ? 按照ACID屬性,如Durability和Concurrency。
    ? 使用分片進行分區。

    1.3 Impala架構

    Impala是在Hadoop集群中的許多系統上運行的MPP(大規模并行處理)查詢執行引擎。 與傳統存儲系統不同,impala與其存儲引擎解耦。 它有三個主要組件,即Impala daemon(Impalad),Impala Statestore和Impala元數據或metastore.

    1.3.1 Impala的核心組件

    Statestore Daemon
    ? Name Service,負責收集分布在集群中各個impalad進程的資源信息、各節點健康狀況,同步節點信息。在集群中運行一個StateStroe daemon進程。多數的生產環境上將它部署在namenode節點上。
    Catalog Daemon
    Metadata的通信服務,用于廣播impala ddl和DML語句的變更到所有的受影響的impala節點。因此新的表,新的load的數據,等等的等等通過任何Impala節點提交的查詢都可以立即看到這些信息。(在Impala 1.2之前,你必須運行REFRESH 或INVALIDATE METADATA 陳述,在每個節點上同步變更的元數據信息,現在,只有通過外部機制(如Hive)或將數據上載到Amazon S3文件系統來執行DDL或DML時,才需要這些語句),在你的集群上運行有一個這樣的后臺進程,最好與狀態守護進程位于同一主機上。
    Impala Daemon(impalad)
    Impala的后臺進程。基于HDFS、HBASE和Amazon S3上的數據計劃和執行查詢。在集群上的每個DataNode節點上運行一個impalad進程。
    ? 接收client、hue、jdbc或者odbc的各種接口的查詢、Query執行并返回給中心協調節點。
    ? 子節點上的守護進程,負責向statestore保持通信,匯報工作。

    每當將查詢提交到特定節點上的impalad時,該節點充當該查詢的“協調器節點”。 Impalad還在其他節點上運行多個查詢。 接受查詢后,Impalad讀取和寫入數據文件,并通過將工作分發到Impala集群中的其他Impala節點來并行化查詢。 當查詢處理各種Impalad實例時,所有查詢都將結果返回到中央協調節點。
    根據需要,可以將查詢提交到專用Impalad或以負載平衡方式提交到集群中的另一Impalad。

    impala-shell:
    命令行接口,用于向Impala守護進程發出查詢。您可以在網絡上的任何地方的一臺或多臺主機上安裝此功能,不一定是datanode,甚至與Impala在同一個集群中。它可以遠程連接到Impala守護進程的任何實例。

    考慮集群性能問題,一般將StateStoreDaemon與 Catalog Daemon放在統一節點上,因之間要做通信。

    1.3.2 整體架構流程


    1:客戶端向某一個Impalad發送一個query(SQL)
    Impalad會與StateStore保持連接(通信),確定Impala集群哪些Impalad是否健康可工作,與NameNode得到數據元數據(數據的位置等);每個Impalad通過Catalog可知表元數據數據信息。
    2: Impalad將query解析為具體的執行計劃Planner, 交給當前機器Coordinator即為中心協調節點。
    Impalad通過jni,將query傳送給java前端,由java前端完成語法分析和生成執行計劃(Planner),并將執行計劃封裝成thrift格式返回,執行計劃分為多個階段,每一個階段叫做一個(計劃片段)PlanFragment,每一個PlanFragment在執行時可以由多個Impalad實例并行執行(有些PlanFragmeng只能由一個Impalad實例執行)。
    3.Coordinator(中心協調節點)根據執行計劃Planner,通過本機Executor執行,并轉發給其它有數據的impalad用Executor進行執行。
    4.impalad的Executor之間可進行通信,可能需要一些數據的處理。
    5.各個impalad的Executor執行完成后,將結果返回給中心協調節點。
    用戶調用GetNext()方法獲取計算結果,如果是insert語句,則將計算結果寫回hdfs
    當所有輸入數據被消耗光,執行結束(完成)。
    在執行過程中,如果有任何故障發生,則整個執行失敗。
    6.有中心節點Coordinator將匯聚的查詢結果返回給客戶端。

    1.3.3 Impala與Hive的異同


    數據存儲:
    ? 使用相同的存儲數據池都支持把數據存儲于HDFS, HBase。
    元數據:
    ? 兩者使用相同的元數據。
    SQL解釋處理:
    ? 比較相似都是通過詞法分析生成執行計劃。
    執行計劃:
    Hive: 依賴于MapReduce執行框架,執行計劃分成 map->shuffle->reduce->map->shuffle->reduce…的模型。如果一個Query會 被編譯成多輪MapReduce,則會有更多的寫中間結果。由于MapReduce執行框架本身的特點,過多的中間過程會增加整個Query的執行時間。

    Impala: 把執行計劃表現為一棵完整的執行計劃樹,可以更自然地分發執行計劃到各個Impalad執行查詢,而不用像Hive那樣把它組合成管道型的 map->reduce模式,以此保證Impala有更好的并發性和避免不必要的中間sort與shuffle。

    數據流:
    ? Hive: 采用推的方式,每一個計算節點計算完成后將數據主動推給后續節點。
    ? Impala: 采用拉的方式,后續節點通過getNext主動向前面節點要數據,以此方式數據可以流式的返回給客戶端,且只要有1條數據被處理完,就可以立即展現出來,而不用等到全部處理完成,更符合SQL交互式查詢使用。

    內存使用:
    ? Hive: 在執行過程中如果內存放不下所有數據,則會使用外存,以保證Query能順序執行完。每一輪MapReduce結束,中間結果也會寫入HDFS中,同樣由于MapReduce執行架構的特性,shuffle過程也會有寫本地磁盤的操作。
    ? Impala: 在遇到內存放不下數據時,當前版本1.0.1是直接返回錯誤,而不會利用外存,以后版本應該會進行改進。這使用得Impala目前處理Query會受到一 定的限制,最好還是與Hive配合使用。Impala在多個階段之間利用網絡傳輸數據,在執行過程不會有寫磁盤的操作(insert除外)

    調度
    ? Hive任務的調度依賴于Hadoop的調度策略。
    ? Impala的調度由自己完成,目前的調度算法會盡量滿足數據的局部性,即掃描數據的進程應盡量靠近數據本身所在的物理機器。但目前調度暫時還沒有考慮負載均衡的問題。從Cloudera的資料看,Impala程序的瓶頸是網絡IO,目前Impala中已經存在對Impalad機器網絡吞吐進行統計,但目前還沒有利用統計結果進行調度。

    容錯
    ? Hive任務依賴于Hadoop框架的容錯能力,可以做到很好的failover
    ? Impala中不存在任何容錯邏輯,如果執行過程中發生故障,則直接返回錯誤。當一個Impalad失敗時,在這個Impalad上正在運行的所有query都將失敗。但由于Impalad是對等的,用戶可以向其他Impalad提交query,不影響服務。當StateStore失敗時,也不會影響服務,但由于Impalad已經不能再更新集群狀態,如果此時有其他Impalad失敗,則無法及時發現。這樣調度時,如果有一個已經失效的Impalad調度了一個任務,則整個query無法執行。

    1.3.4 Impala的查詢流程

    1.4 Impala安裝

    安裝CDH6,里面自帶Impala,CDH6的參考文檔:https://blog.csdn.net/tototuzuoquan/article/details/85111018

    安裝后的效果:

    1.5 Impala Shell

    1.5.1 Impala shell外部shell

    命令
    Impala shell的命令分為一般命令,查詢特定選項以及表和數據庫特定選項,如下所述。
    通用命令
    ? help
    ? version
    ? history
    ? shell (or) !
    ? connect
    ? exit | quit
    查詢特定的選項
    ? Set/unset
    ? Profile
    ? Explain
    表和數據庫特定選項
    ? Alter
    ? describe
    ? drop
    ? insert
    ? select
    ? show
    ? use

    基本數據類型
    Sr.No數據類型及說明
    1BIGINT 此數據類型存儲數值,此數據類型的范圍為-9223372036854775808至9223372036854775807.此數據類型在create table和alter table語句中使用。
    2BOOLEAN 此數據類型只存儲true或false值,它用于create table語句的列定義。
    3CHAR 此數據類型是固定長度的存儲,它用空格填充,可以存儲最大長度為255。
    4DECIMAL 此數據類型用于存儲十進制值,并在create table和alter table語句中使用。
    5DOUBLE 此數據類型用于存儲正值或負值4.94065645841246544e-324d -1.79769313486231570e + 308范圍內的浮點值。
    6** FLOAT ** 此數據類型用于存儲正或負1.40129846432481707e-45 … 3.40282346638528860e + 38范圍內的單精度浮點值數據類型。
    7** INT ** 此數據類型用于存儲4字節整數,范圍從-2147483648到2147483647。
    8** SMALLINT ** 此數據類型用于存儲2字節整數,范圍為-32768到32767。
    9** STRING ** 這用于存儲字符串值。
    10** TIMESTAMP ** 此數據類型用于表示時間中的點。
    11** TINYINT ** 此數據類型用于存儲1字節整數值,范圍為-128到127。
    12** VARCHAR ** 此數據類型用于存儲可變長度字符,最大長度為65,535。
    13** ARRAY ** 這是一個復雜的數據類型,它用于存儲可變數量的有序元素。
    14** Map ** 這是一個復雜的數據類型,它用于存儲可變數量的鍵值對。
    15** Struct ** 這是一種復雜的數據類型,用于表示單個項目的多個字段。

    Impla-shell相關參數
    下面是Impala的外部Shell的一些參數:

    -h (--help) 幫助 -v (--version) 查詢版本信息 -V (--verbose) 啟用詳細輸出 --quiet 關閉詳細輸出 -p 顯示執行計劃 -i hostname (--impalad=hostname) 指定連接主機格式hostname:port 默認端口21000, impalad shell 默認連接本機impalad - r(--refresh_after_connect)刷新所有元數據 -q query (--query=query) 從命令行執行查詢,不進入impala-shell-d default_db (--database=default_db) 指定數據庫 -B(--delimited)去格式化輸出 --output_delimiter=character 指定分隔符 --print_header 打印列名-f query_file(--query_file=query_file)執行查詢文件,以分號分隔 -o filename (--output_file filename) 結果輸出到指定文件 -c 查詢執行失敗時繼續執行-k (--kerberos) 使用kerberos安全加密方式運行impala-shell -l 啟用LDAP認證 -u 啟用LDAP時,指定用戶名

    示例:

    編寫外部sql文件outersql.sql,文件內容如下: [root@hadoop2 impala]# cat outersql.sql use default;select * from tab2;通過impala-shell執行外部sql文件: [root@hadoop2 impala]# impala-shell -i hadoop2 -f outersql.sql Starting Impala Shell without Kerberos authentication Connected to hadoop2:21000 Server version: impalad version 3.0.0-cdh6.0.1 RELEASE (build 9a74a5053de5f7b8dd983802e6d75e58d31472db) Query: use default Query: select * from tab2 Query submitted at: 2019-09-16 10:01:29 (Coordinator: http://hadoop2:25000) Query progress can be monitored at: http://hadoop2:25000/query_plan?query_id=58415ef715ff66dc:7f6bd85600000000 +----+-------+---------------+ | id | col_1 | col_2 | +----+-------+---------------+ | 1 | true | 12789.123 | | 2 | false | 1243.5 | | 3 | false | 24453.325 | | 4 | false | 2423.3254 | | 5 | true | 243.325 | | 60 | false | 243565423.325 | | 70 | true | 243.325 | | 80 | false | 243423.325 | | 90 | true | 243.325 | +----+-------+---------------+ Fetched 9 row(s) in 4.67s在如直接在impala-shell的后面執行sql語句: [root@hadoop2 impala]# impala-shell -i hadoop2 -q 'select count(0) from tab2'; Starting Impala Shell without Kerberos authentication Connected to hadoop2:21000 Server version: impalad version 3.0.0-cdh6.0.1 RELEASE (build 9a74a5053de5f7b8dd983802e6d75e58d31472db) Query: select count(0) from tab2 Query submitted at: 2019-09-16 10:21:36 (Coordinator: http://hadoop2:25000) Query progress can be monitored at: http://hadoop2:25000/query_plan?query_id=60409a284c3015ac:5892e5bc00000000 +----------+ | count(0) | +----------+ | 9 | +----------+ Fetched 1 row(s) in 0.12s [root@hadoop2 impala]#

    1.5.2 Impala內部shell

    不進入Impala內部,直接執行的impala-shell
    例如:

    [root@hadoop2 ~]# impala-shell -i hadoop3 --quiet -- 通過外部Shell查看Impala幫助 [hadoop3:21000] default> [hadoop3:21000] default> select version(); +-----------------------------------------------------------------------------------------+ | version() | +-----------------------------------------------------------------------------------------+ | impalad version 3.0.0-cdh6.0.1 RELEASE (build 9a74a5053de5f7b8dd983802e6d75e58d31472db) | | Built on Wed Sep 19 11:27:37 PDT 2018 | +-----------------------------------------------------------------------------------------+ [hadoop3:21000] default> show databases; +------------------+----------------------------------------------+ | name | comment | +------------------+----------------------------------------------+ | _impala_builtins | System database for Impala builtin functions | | default | Default Hive database | +------------------+----------------------------------------------+ [hadoop3:21000] default> create database test2; +----------------------------+ | summary | +----------------------------+ | Database has been created. | +----------------------------+ [hadoop3:21000] default> show databases; +------------------+----------------------------------------------+ | name | comment | +------------------+----------------------------------------------+ | _impala_builtins | System database for Impala builtin functions | | default | Default Hive database | | test2 | | +------------------+----------------------------------------------+ [hadoop3:21000] test2>再如: [hadoop2:21000] default> show databases; Query: show databases +------------------+----------------------------------------------+ | name | comment | +------------------+----------------------------------------------+ | _impala_builtins | System database for Impala builtin functions | | data_center | | | default | Default Hive database | | test2 | | +------------------+----------------------------------------------+ Fetched 4 row(s) in 0.21s [hadoop2:21000] default> show tables in data_center; Query: show tables in data_center +---------------+ | name | +---------------+ | tb_agent_area | | tb_shop | +---------------+ Fetched 2 row(s) in 0.11s [hadoop2:21000] data_center> describe tb_member_card; Query: describe tb_member_card +------------------+---------------+-------------------------------------------------+ | name | type | comment | +------------------+---------------+-------------------------------------------------+ | userid | varchar(40) | 會員id | | areacode | varchar(10) | 區域code(從tb_shop表中獲取) | | areaname | varchar(30) | 區域中文名稱(從tb_shop表中獲取) | | agentid | varchar(40) | 代理商id(從tb_shop表中獲取) | | agentname | varchar(20) | 代理商中文名稱(從tb_shop表中獲取) | | rootcategoryid | varchar(40) | 一級類目ID | | parentcategoryid | varchar(40) | 二級類目ID | | industryid | varchar(40) | 經營類目id(從tb_shop表中獲取) | | industryname | varchar(20) | 經營類目中文名稱(從tb_shop表中獲取) | | cardid | varchar(40) | 會員卡號Id | | shopid | varchar(40) | 店鋪Id,主鍵唯一 | | rechargefee | decimal(10,2) | 充值金額 | | givefee | decimal(10,2) | 贈送金額 | | usefee | decimal(10,2) | 消耗金額 | | refundfee | decimal(10,2) | 退款金額 | | addtime | bigint | 創建時間,也是上面充值時間,退款時間等 | | createdate | bigint | 創建天,時間格式為yyyyMMdd的integer值,分區時間 | | pt_createdate | int | 創建天,時間格式為yyyyMMdd的integer值,分區時間 | +------------------+---------------+-------------------------------------------------+ Fetched 18 row(s) in 4.46s [hadoop2:21000] data_center> desc tb_member_card; Query: describe tb_member_card +------------------+---------------+-------------------------------------------------+ | name | type | comment | +------------------+---------------+-------------------------------------------------+ | userid | varchar(40) | 會員id | | areacode | varchar(10) | 區域code(從tb_shop表中獲取) | | areaname | varchar(30) | 區域中文名稱(從tb_shop表中獲取) | | agentid | varchar(40) | 代理商id(從tb_shop表中獲取) | | agentname | varchar(20) | 代理商中文名稱(從tb_shop表中獲取) | | rootcategoryid | varchar(40) | 一級類目ID | | parentcategoryid | varchar(40) | 二級類目ID | | industryid | varchar(40) | 經營類目id(從tb_shop表中獲取) | | industryname | varchar(20) | 經營類目中文名稱(從tb_shop表中獲取) | | cardid | varchar(40) | 會員卡號Id | | shopid | varchar(40) | 店鋪Id,主鍵唯一 | | rechargefee | decimal(10,2) | 充值金額 | | givefee | decimal(10,2) | 贈送金額 | | usefee | decimal(10,2) | 消耗金額 | | refundfee | decimal(10,2) | 退款金額 | | addtime | bigint | 創建時間,也是上面充值時間,退款時間等 | | createdate | bigint | 創建天,時間格式為yyyyMMdd的integer值,分區時間 | | pt_createdate | int | 創建天,時間格式為yyyyMMdd的integer值,分區時間 | +------------------+---------------+-------------------------------------------------+ Fetched 18 row(s) in 0.03s [hadoop2:21000] data_center> select count(*) from tb_member_card; Query: select count(*) from tb_member_card Query submitted at: 2019-09-15 22:51:19 (Coordinator: http://hadoop2:25000) Query progress can be monitored at: http://hadoop2:25000/query_plan?query_id=74a30bb25fbf783:24bf49f00000000 +----------+ | count(*) | +----------+ | 0 | +----------+ Fetched 1 row(s) in 0.47s [localhost:21000] > select count(distinct c_birth_month) from customer; +-------------------------------+ | count(distinct c_birth_month) | +-------------------------------+ | 12 | +-------------------------------+ [localhost:21000] > select count(*) from customer where c_email_address is null; +----------+ | count(*) | +----------+ | 0 | +----------+ [localhost:21000] > select distinct c_salutation from customer limit 10; +--------------+ | c_salutation | +--------------+ | Mr. | | Ms. | | Dr. | | | | Miss | | Sir | | Mrs. | +--------------+ [hadoop2:21000] data_center> show tables; Connection lost, reconnecting... Query: use `data_center` Query: show tables +----------------+ | name | +----------------+ | tb_agent_area | | tb_member_card | | tb_shop | +----------------+ Fetched 3 row(s) in 0.02s [hadoop2:21000] data_center> alter table tb_shop rename to shop; Query: alter table tb_shop rename to shop +--------------------------+ | summary | +--------------------------+ | Renaming was successful. | +--------------------------+ Fetched 1 row(s) in 5.52s [hadoop2:21000] data_center> show tables; Query: show tables +----------------+ | name | +----------------+ | shop | | tb_agent_area | | tb_member_card | +----------------+ Fetched 3 row(s) in 0.02s [hadoop2:21000] data_center> create table t1(x int); Query: create table t1(x int) +-------------------------+ | summary | +-------------------------+ | Table has been created. | +-------------------------+ Fetched 1 row(s) in 0.26s [hadoop2:21000] data_center> insert into t1 values(1),(3),(2),(4); Query: insert into t1 values(1),(3),(2),(4) Query submitted at: 2019-09-16 00:09:56 (Coordinator: http://hadoop2:25000) Query progress can be monitored at: http://hadoop2:25000/query_plan?query_id=874ed9b5a0c973a6:5b9ea0fc00000000 Modified 4 row(s) in 6.52s [hadoop2:21000] data_center> select x from t1 order by x desc; Query: select x from t1 order by x desc Query submitted at: 2019-09-16 00:16:10 (Coordinator: http://hadoop2:25000) Query progress can be monitored at: http://hadoop2:25000/query_plan?query_id=ed473c678702d9aa:96ab138700000000 +---+ | x | +---+ | 4 | | 3 | | 2 | | 1 | +---+ [hadoop2:21000] data_center> select min(x),max(x),sum(x),avg(x) from t1; Query: select min(x),max(x),sum(x),avg(x) from t1 Query submitted at: 2019-09-16 00:21:15 (Coordinator: http://hadoop2:25000) Query progress can be monitored at: http://hadoop2:25000/query_plan?query_id=b74aa0dc8354b2f4:843e1aad00000000 +--------+--------+--------+--------+ | min(x) | max(x) | sum(x) | avg(x) | +--------+--------+--------+--------+ | 1 | 4 | 10 | 2.5 | +--------+--------+--------+--------+ Fetched 1 row(s) in 0.33s [hadoop2:21000] data_center> insert into t2 values(1,'one'),(3,'three'),(5,'five'); Query: insert into t2 values(1,'one'),(3,'three'),(5,'five') Query submitted at: 2019-09-16 00:23:28 (Coordinator: http://hadoop2:25000) Query progress can be monitored at: http://hadoop2:25000/query_plan?query_id=c043b83ea895c2ae:3e68fac500000000 Modified 3 row(s) in 4.99s [hadoop2:21000] data_center> select word from t1 join t2 on(t1.x = t2.id); Query: select word from t1 join t2 on(t1.x = t2.id) Query submitted at: 2019-09-16 00:24:51 (Coordinator: http://hadoop2:25000) Query progress can be monitored at: http://hadoop2:25000/query_plan?query_id=4945efba241c9e41:f6cc18d800000000 +-------+ | word | +-------+ | one | | three | +-------+ Fetched 2 row(s) in 0.35s顯示表中的文件信息 [hadoop2:21000] data_center> show table stats t1; Query: show table stats t1 +-------+--------+------+--------------+-------------------+--------+-------------------+-----------------------------------------------------------+ | #Rows | #Files | Size | Bytes Cached | Cache Replication | Format | Incremental stats | Location | +-------+--------+------+--------------+-------------------+--------+-------------------+-----------------------------------------------------------+ | -1 | 1 | 8B | NOT CACHED | NOT CACHED | TEXT | false | hdfs://hadoop2:8020/user/hive/warehouse/data_center.db/t1 | +-------+--------+------+--------------+-------------------+--------+-------------------+-----------------------------------------------------------+ Fetched 1 row(s) in 0.03s [hadoop2:21000] data_center> 顯示表中文件: [hadoop2:21000] data_center> SHOW FILES IN t1; Query: SHOW FILES IN t1 +----------------------------------------------------------------------------------------------------------------+------+-----------+ | Path | Size | Partition | +----------------------------------------------------------------------------------------------------------------+------+-----------+ | hdfs://hadoop2:8020/user/hive/warehouse/data_center.db/t1/874ed9b5a0c973a6-5b9ea0fc00000000_1276072409_data.0. | 8B | | +----------------------------------------------------------------------------------------------------------------+------+-----------+ Fetched 1 row(s) in 0.02s [hadoop2:21000] data_center>再查看表的信息: [hadoop2:21000] data_center> DESCRIBE FORMATTED t1; Query: describe FORMATTED t1 +------------------------------+------------------------------------------------------------+----------------------+ | name | type | comment | +------------------------------+------------------------------------------------------------+----------------------+ | # col_name | data_type | comment | | | NULL | NULL | | x | int | NULL | | | NULL | NULL | | # Detailed Table Information | NULL | NULL | | Database: | data_center | NULL | | Owner: | root | NULL | | CreateTime: | Mon Sep 16 00:09:23 CST 2019 | NULL | | LastAccessTime: | UNKNOWN | NULL | | Retention: | 0 | NULL | | Location: | hdfs://hadoop2:8020/user/hive/warehouse/data_center.db/t1 | NULL | | Table Type: | MANAGED_TABLE | NULL | | Table Parameters: | NULL | NULL | | | transient_lastDdlTime | 1568563763 | | | NULL | NULL | | # Storage Information | NULL | NULL | | SerDe Library: | org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe | NULL | | InputFormat: | org.apache.hadoop.mapred.TextInputFormat | NULL | | OutputFormat: | org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat | NULL | | Compressed: | No | NULL | | Num Buckets: | 0 | NULL | | Bucket Columns: | [] | NULL | | Sort Columns: | [] | NULL | +------------------------------+------------------------------------------------------------+----------------------+ Fetched 23 row(s) in 0.07s [hadoop2:21000] data_center> NDV() 方法返回不重復數據的數據條數。 [hadoop2:21000] data_center> show create table t1; Query: show create table t1 +----------------------------------------------------------------------+ | result | +----------------------------------------------------------------------+ | CREATE TABLE data_center.t1 ( | | x INT | | ) | | STORED AS TEXTFILE | | LOCATION 'hdfs://hadoop2:8020/user/hive/warehouse/data_center.db/t1' | | | +----------------------------------------------------------------------+

    1.6 Load CSV Data From Local Files

    這個章節介紹如何從本地文件中加載CSV 數據。在本地Linux環境中,執行以下命令:

    [root@hadoop2 ~]# hdfs dfs -mkdir -p /user/username/sample_data/tab1 /user/username/ sample_data/tab2

    接下來為TAB1和TAB2準備一些數據。拷貝下面的內容到你本地的.csv文件中。
    tab1.csv的內容如下:

    1,true,123.123,2012-10-24 08:55:00 2,false,1243.5,2012-10-25 13:40:00 3,false,24453.325,2008-08-22 09:33:21.123 4,false,243423.325,2007-05-12 22:32:21.33454 5,true,243.325,1953-04-22 09:11:33

    tab2.csv的內容如下:

    1,true,12789.123 2,false,1243.5 3,false,24453.325 4,false,2423.3254 5,true,243.325 60,false,243565423.325 70,true,243.325 80,false,243423.325 90,true,243.325

    使用如下的命令,分別將.csv文件放到獨立的HDFS目錄中。

    [root@hadoop2 impala]# hdfs dfs -put tab1.csv /user/username/sample_data/tab1 [root@hadoop2 impala]# hdfs dfs -ls /user/username/sample_data/tab1 Found 1 items -rw-r--r-- 3 root supergroup 192 2019-09-16 09:08 /user/username/sample_data/tab1/tab1.csv[root@hadoop2 impala]# hdfs dfs -put tab2.csv /user/username/sample_data/tab2 [root@hadoop2 impala]# hdfs dfs -cat /user/username/sample_data/tab2/tab2.csv 1,true,12789.123 2,false,1243.5 3,false,24453.325 4,false,2423.3254 5,true,243.325 60,false,243565423.325 70,true,243.325 80,false,243423.325 90,true,243.325

    每個數據文件的名稱是沒有意義的。事實上,當Impala第一次檢查數據目錄下的文件的時候,它認為在目錄下的所有文件組成了表的數據,而不是多少文件,也不管文件的名字是什么。
    創建tab1表:

    [hadoop2:21000] default> DROP TABLE IF EXISTS tab1; Query: DROP TABLE IF EXISTS tab1 +-------------------------+ | summary | +-------------------------+ | Table has been dropped. | +-------------------------+ Fetched 1 row(s) in 0.12s [hadoop2:21000] default> CREATE EXTERNAL TABLE tab1> (> id INT,> col_1 BOOLEAN,> col_2 DOUBLE,> col_3 TIMESTAMP> )> ROW FORMAT DELIMITED FIELDS TERMINATED BY ','> LOCATION '/user/username/sample_data/tab1'; Query: CREATE EXTERNAL TABLE tab1 ( id INT, col_1 BOOLEAN, col_2 DOUBLE, col_3 TIMESTAMP ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION '/user/username/sample_data/tab1' +-------------------------+ | summary | +-------------------------+ | Table has been created. | +-------------------------+ WARNINGS: Impala does not have READ_WRITE access to path 'hdfs://hadoop2:8020/user/username/sample_data'Fetched 1 row(s) in 0.11s [hadoop2:21000] default> select * from tab1; Query: select * from tab1 Query submitted at: 2019-09-16 09:37:33 (Coordinator: http://hadoop2:25000) Query progress can be monitored at: http://hadoop2:25000/query_plan?query_id=4f44222f65a4cbf6:a624798000000000 +----+-------+------------+-------------------------------+ | id | col_1 | col_2 | col_3 | +----+-------+------------+-------------------------------+ | 1 | true | 123.123 | 2012-10-24 08:55:00 | | 2 | false | 1243.5 | 2012-10-25 13:40:00 | | 3 | false | 24453.325 | 2008-08-22 09:33:21.123000000 | | 4 | false | 243423.325 | 2007-05-12 22:32:21.334540000 | | 5 | true | 243.325 | 1953-04-22 09:11:33 | +----+-------+------------+-------------------------------+ Fetched 5 row(s) in 5.93s [hadoop2:21000] default> DROP TABLE IF EXISTS tab2; Query: DROP TABLE IF EXISTS tab2 +-----------------------+ | summary | +-----------------------+ | Table does not exist. | +-----------------------+ Fetched 1 row(s) in 0.01s [hadoop2:21000] default> CREATE EXTERNAL TABLE tab2> (> id INT,> col_1 BOOLEAN,> col_2 DOUBLE> )> ROW FORMAT DELIMITED FIELDS TERMINATED BY ','> LOCATION '/user/username/sample_data/tab2'; Query: CREATE EXTERNAL TABLE tab2 ( id INT, col_1 BOOLEAN, col_2 DOUBLE ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION '/user/username/sample_data/tab2' +-------------------------+ | summary | +-------------------------+ | Table has been created. | +-------------------------+ WARNINGS: Impala does not have READ_WRITE access to path 'hdfs://hadoop2:8020/user/username/sample_data'Fetched 1 row(s) in 0.09s [hadoop2:21000] default> DROP TABLE IF EXISTS tab3; Query: DROP TABLE IF EXISTS tab3 +-----------------------+ | summary | +-----------------------+ | Table does not exist. | +-----------------------+ Fetched 1 row(s) in 0.01s [hadoop2:21000] default> CREATE TABLE tab3> (> id INT,> col_1 BOOLEAN,> col_2 DOUBLE,> month INT,> day INT> )> ROW FORMAT DELIMITED FIELDS TERMINATED BY ','; Query: CREATE TABLE tab3 ( id INT, col_1 BOOLEAN, col_2 DOUBLE, month INT, day INT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' +-------------------------+ | summary | +-------------------------+ | Table has been created. | +-------------------------+ Fetched 1 row(s) in 0.41s [hadoop2:21000] default>

    要注意的是,上面的tab1和tab2指定了LOCATION,它的地址為最開始的時候創建的csv文件所在的目錄位置。

    1.7 分區表創建、refresh表、獲取數據的元數據

    創建分區表,并插入數據:

    create database external_partitions; use external_partitions; create table logs (field1 string, field2 string, field3 string) partitioned by (year string, month string , day string, host string) row format delimited fields terminated by ','; insert into logs partition (year="2013", month="07", day="28", host="host1") values ("foo","foo","foo"); insert into logs partition (year="2013", month="07", day="28", host="host2") values ("foo","foo","foo"); insert into logs partition (year="2013", month="07", day="29", host="host1") values ("foo","foo","foo"); insert into logs partition (year="2013", month="07", day="29", host="host2") values ("foo","foo","foo"); insert into logs partition (year="2013", month="08", day="01", host="host1") values ("foo","foo","foo");

    查看hdfs中數據目錄:



    添加分區:

    alter table logs add partition (year="2013",month="07",day="28",host="host1"); alter table log_type add partition (year="2013",month="07",day="28",host="host2"); alter table log_type add partition (year="2013",month="07",day="29",host="host1"); alter table log_type add partition (year="2013",month="08",day="01",host="host1");

    當數據文件中的數據被手動修改(如添加、移動或者改變了)了之后,使用refresh語句更新表。例如:

    refresh log_type; select * from log_type limit 100; +--------+--------+--------+------+-------+-----+-------+ | field1 | field2 | field3 | year | month | day | host | +--------+--------+--------+------+-------+-----+-------+ | bar | baz | bletch | 2013 | 07 | 28 | host1 | | bar | baz | bletch | 2013 | 08 | 01 | host1 | | bar | baz | bletch | 2013 | 07 | 29 | host1 | | bar | baz | bletch | 2013 | 07 | 28 | host2 | +--------+--------+--------+------+-------+-----+-------+

    在hive中創建一個db,然后切回到impala-shell中,發現數據庫并沒有顯示,若想讓它顯示,可以使用如下命令刷新數據,并獲得最新數據:

    INVALIDATE METADATA;

    1.8 參考資料

    https://www.w3cschool.cn/impala/impala_overview.html
    https://blog.csdn.net/flyingsk/article/details/8590000
    https://blog.csdn.net/qiyongkang520/article/details/51067803

    總結

    以上是生活随笔為你收集整理的Impala介绍,Impala架构,Impala安装,impala Shell ,分区创建,refresh,load数据,获取数据的元数据的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    在线午夜av | 99视频精品全国免费 | 天天操狠狠操网站 | 国产精品一区二区在线 | 国产一区二区视频在线 | 亚洲一区二区高潮无套美女 | 91福利视频久久久久 | 91久久国产综合精品女同国语 | 久久视频这里只有精品 | 美女黄久久 | 国产精品字幕 | 成人黄色中文字幕 | 高清国产在线一区 | 不卡视频国产 | 国产黄色免费观看 | 91精品国产九九九久久久亚洲 | 探花视频免费观看 | 国产69精品久久99不卡的观看体验 | 偷拍久久久 | 免费成人在线网站 | 中文字幕 婷婷 | 久久精品99国产精品酒店日本 | 亚洲国产黄色片 | 成人免费精品 | 91日韩在线专区 | 色综合天天爱 | 欧美成人在线免费 | 日一日操一操 | 国产性天天综合网 | 国产在线播放一区二区 | 黄在线免费看 | 女人18毛片a级毛片一区二区 | 一区二区激情 | 欧美成人基地 | 精品久久久久久久久久岛国gif | 91精品国自产在线观看欧美 | 人人超碰免费 | 亚洲天堂精品视频在线观看 | 精品一区精品二区 | 在线看一区二区 | 一区二区三区四区免费视频 | 久久伊人八月婷婷综合激情 | 91视频首页 | 日韩欧美一区二区在线观看 | 日韩久久网站 | 中文字幕在线播放一区二区 | 日韩高清不卡在线 | 色婷婷影视 | 69精品视频在线观看 | 五月婷婷一区二区三区 | 久草视频在线新免费 | 91完整版观看 | 91av在| 色婷婷激情网 | 久久激情视频 | 在线看成人 | 久久国产精品视频 | 国产一区二区三区免费在线观看 | 1000部国产精品成人观看 | 亚州国产精品久久久 | 欧美综合色在线图区 | 色综合色综合久久综合频道88 | 视频在线观看国产 | 国产视频在线看 | 国产91学生粉嫩喷水 | 国产精品一区二区久久 | 亚洲欧洲成人 | 中国美女一级看片 | 综合天天色| 在线观看久久久久久 | 在线观看中文 | 精品视频一区在线观看 | www久久久 | 国产精品99久久久久人中文网介绍 | 99久久电影| 色多多视频在线 | 国产又粗又猛又爽又黄的视频免费 | 色综合天天综合 | 黄色一区二区在线观看 | 国产成人精品日本亚洲999 | 精品免费一区 | 国产一区二区三区免费在线 | 国产亚洲综合性久久久影院 | 国产成人精品一区二区三区福利 | 国产一级片免费播放 | 国产精品久久久久久久久久久免费看 | 天天天干天天射天天天操 | 最近中文字幕大全 | 欧美一区二区精美视频 | 久久精品人人做人人综合老师 | 麻豆精品国产传媒 | 亚洲午夜小视频 | 国产精品久久久久久久久久久久午夜片 | 久久久久黄 | 国产黄色免费看 | 国产精品美女久久久久aⅴ 干干夜夜 | 美女搞黄国产视频网站 | 亚洲激情视频在线 | 欧美日韩一区二区在线观看 | 中文字幕日韩有码 | 精品久久久久久久久久久久 | 国产中文字幕亚洲 | 欧美精品天堂 | 亚洲 欧美 变态 国产 另类 | 久久看片网站 | 天天射天天干天天操 | 日本中文字幕网 | 麻豆一区二区 | 亚洲精品乱码久久久久久高潮 | 国产高清视频色在线www | 处女av在线 | 五月婷婷亚洲 | 欧美一区影院 | 91中文字幕在线播放 | 亚洲激情视频在线 | 国产成人333kkk| 欧美在线久久 | 毛片网站在线看 | 成人免费视频网 | 国产精久久久 | 成人四虎 | 亚洲免费资源 | av看片网| 中文字幕在线观看第三页 | 9i看片成人免费看片 | 五月天婷婷狠狠 | 国产精品美女毛片真酒店 | 国产精品乱码一区二区视频 | 国产福利91精品一区二区三区 | 精品91久久久久 | 天天操夜夜操天天射 | 色综合a| 欧美99热 | 91成人看片| 精品福利视频在线 | 成人啪啪18免费游戏链接 | 人人超碰人人 | 成人免费ⅴa | 欧美一级xxxx | 久久99精品国产麻豆宅宅 | 免费观看9x视频网站在线观看 | 狠狠色狠狠色综合日日小说 | 成年人在线视频观看 | 狠狠干夜夜操天天爽 | 亚洲免费专区 | 久久免费视频播放 | 国产精品免费观看在线 | 久久国产精品电影 | 97超碰在线久草超碰在线观看 | 丁香高清视频在线看看 | 国产自产高清不卡 | 日韩欧美精选 | 久久国产品 | 91亚洲欧美激情 | 97人人澡人人添人人爽超碰 | 婷婷激情av | 成人免费观看视频大全 | 日本资源中文字幕在线 | 蜜桃视频日本 | 久久免费视频这里只有精品 | 亚洲在线免费视频 | 91看片在线免费观看 | sm免费xx网站 | 97视频在线观看网址 | 中文字幕av播放 | 视频一区久久 | 成人av片免费观看app下载 | 中文字幕在线不卡国产视频 | 国产原创在线视频 | 少妇搡bbbb搡bbb搡aa | 一区二精品 | 久久夜色精品国产欧美乱极品 | 2019中文最近的2019中文在线 | 亚洲精品乱码久久久久久 | 91色在线观看视频 | 久久久久久久网 | 国产精品久久久久久久午夜 | 美女网站在线播放 | 国产乱码精品一区二区三区介绍 | 日本 在线 视频 中文 有码 | 狠狠躁日日躁狂躁夜夜躁 | av中文字幕剧情 | 四虎国产精品免费 | 午夜精品福利影院 | 久久久久久久电影 | 中文字幕在线观看一区二区 | 精品欧美一区二区三区久久久 | 成人在线网站观看 | av福利网址导航大全 | 日韩欧美亚州 | 精品国产a | 黄色免费网站下载 | 久草免费色站 | 激情久久婷婷 | 国产中文字幕亚洲 | 国产高清在线免费观看 | 精品国产亚洲一区二区麻豆 | 超碰com| 久久综合天天 | 久久久久久久久久久久电影 | 亚欧日韩成人h片 | 最近字幕在线观看第一季 | 六月婷婷久香在线视频 | 外国av网| 日韩二区精品 | 91av电影在线| 久久99深爱久久99精品 | 亚洲精品啊啊啊 | 精品久久电影 | 国产成人免费av电影 | 成人app在线播放 | 91成人精品观看 | 丁香综合 | 特级黄色片免费看 | 狠狠色伊人亚洲综合成人 | 99久视频| av网站免费线看精品 | 国产精彩在线视频 | 久久久久久激情 | 精品女同一区二区三区在线观看 | 国产精品国产三级国产aⅴ9色 | 黄色性av | 人人爽人人插 | 成人久久 | 成年人app网址 | 国产日韩欧美在线观看视频 | 亚洲一区二区三区在线看 | 婷婷深爱五月 | 国产91在线免费视频 | 香蕉久久久久 | 久久综合久久综合久久综合 | 草久在线观看 | 国产精品高潮呻吟久久久久 | 在线观看免费日韩 | 久草在线费播放视频 | 色婷婷免费视频 | 97在线精品国自产拍中文 | 久久人人添人人爽添人人88v | 国内精自线一二区永久 | 日韩在线观看网站 | 国产高清在线a视频大全 | 久久婷综合 | 欧美一级片在线观看视频 | 九九热在线视频 | 欧美在线free| 久青草影院 | 91视频免费播放 | 操少妇视频| 国产精品久久久久aaaa九色 | 亚洲免费在线播放视频 | 日本性久久| 久久99精品视频 | 亚洲精品国产综合99久久夜夜嗨 | 久久再线视频 | 99精品国产99久久久久久福利 | 欧美性生交大片免网 | 亚洲va欧美va人人爽春色影视 | 美国三级黄色大片 | 亚洲电影影音先锋 | 91久草视频 | 久久久午夜剧场 | 国产精品一区二区精品视频免费看 | 精品国产乱码 | 天天干天天做 | 99免费在线 | 久久99精品一区二区三区三区 | 日本久久久久 | 91精品国产92久久久久 | 人人爽人人爱 | 国产一级不卡毛片 | 亚一亚二国产专区 | 欧美一二三视频 | 久草综合在线观看 | 中文乱码视频在线观看 | 8x8x在线观看视频 | 日产中文字幕 | 久久天天躁狠狠躁夜夜不卡公司 | 999成人免费视频 | 午夜精品福利一区二区三区蜜桃 | 国产999精品久久久影片官网 | 美女久久99 | 毛片网站免费在线观看 | 色综合a| 成人蜜桃视频 | 天天操天天操天天操天天 | 婷婷六月在线 | 午夜精品久久久久久久久久 | 视频一区二区视频 | 久久草在线精品 | 免费在线国产 | 免费无遮挡动漫网站 | 欧美成人中文字幕 | 国产精品视频永久免费播放 | 俺要去色综合狠狠 | 国产精品第十页 | 字幕网av | 中文字幕在线电影 | 国产黄色播放 | 91成人在线视频观看 | 美女视频黄频大全免费 | 黄色影院在线免费观看 | 在线视频 一区二区 | 免费男女羞羞的视频网站中文字幕 | 日色在线视频 | 久草免费资源 | 亚洲国产精品电影 | 国产精品久久久精品 | 91成人区 | 欧洲激情在线 | 久久免费视频这里只有精品 | 成人在线观看免费视频 | 91最新在线视频 | 国产涩图 | 国产精品成人品 | 免费在线观看毛片网站 | 国产操在线 | 亚洲二级片 | 婷婷色中文 | 成人av高清| 丁香av | 18久久久久| 久久午夜国产精品 | 日韩一区二区三区视频在线 | 亚洲国产免费网站 | 久热电影 | 97超视频在线观看 | 国产91精品久久久久 | 日韩精品影视 | 国产麻豆精品一区二区 | 久久特级毛片 | www日韩在线观看 | 国产一级做a爱片久久毛片a | av在线免费不卡 | 午夜av剧场| 最新一区二区三区 | 99热超碰| 国产成人精品一区二区三区免费 | 久久视频在线观看 | 亚洲精品在线观看av | 天堂av免费看 | www在线观看国产 | 亚洲视频在线播放 | 69久久久久久久 | 在线免费观看黄色小说 | 特级毛片爽www免费版 | 国产色 在线| 高潮久久久久久久久 | 91系列在线观看 | 99精品在线免费观看 | 国产精品成人一区二区 | 国产精品一区二区三区久久 | 久久精品www人人爽人人 | 在线视频第一页 | 99久久国产免费看 | 久久视频这里只有精品 | 99产精品成人啪免费网站 | 久久久999精品视频 国产美女免费观看 | 日韩中文字幕免费在线播放 | 欧美亚洲国产一卡 | 午夜美女影院 | 五月天六月婷 | 在线日韩精品视频 | 91精品人成在线观看 | 国产尤物一区二区三区 | 亚洲国产精久久久久久久 | 久久久久久久久久久久影院 | 九九色在线 | 手机看片国产日韩 | 一级免费黄视频 | 国产亚洲精品久久久久久大师 | 日韩欧美在线观看一区二区三区 | 麻豆视频在线免费 | 日本精品二区 | 五月婷久久 | 国内外成人在线视频 | 91精品啪 | 91成人蝌蚪 | 玖玖视频在线 | 国产成人在线精品 | 久久精品99国产精品日本 | 日韩免费 | 美女一区网站 | 婷婷新五月 | 国产精品久久久久久久久久 | 久久免费av电影 | 国产精品久久婷婷六月丁香 | 国产精品久久久一区二区三区网站 | 成人a在线观看高清电影 | 欧美精品小视频 | 午夜精品福利一区二区三区蜜桃 | 国产乱码精品一区二区蜜臀 | 六月丁香激情综合色啪小说 | 西西www4444大胆在线 | 五月天av在线 | 婷婷六月丁香激情 | 在线影视 一区 二区 三区 | 在线观看精品一区 | 欧美一区二区在线免费看 | 中文字幕网站视频在线 | 精品一区二区三区香蕉蜜桃 | 国产精品成人国产乱一区 | 草久在线视频 | 久久精品美女视频 | 国产区在线视频 | 97人人添人澡人人爽超碰动图 | 亚洲视频大全 | 伊人日日干 | 国内精品一区二区 | 97精品在线 | 色综合久久88色综合天天 | 亚洲欧美成人综合 | 天天综合91| 九九热精品视频在线播放 | 欧美人zozo| av电影在线免费 | 免费看一级特黄a大片 | 欧美一区二区精品在线 | 午夜视频一区二区 | a电影在线观看 | 久久婷婷五月综合色丁香 | 免费碰碰 | 欧美成人久久 | 日日碰狠狠躁久久躁综合网 | 久久99久久99精品中文字幕 | 午夜视频在线观看网站 | 日韩在线中文字幕视频 | 亚洲精品动漫成人3d无尽在线 | 视频在线播放国产 | 黄色日批网站 | 午夜精品三区 | 日韩二区在线 | 精品视频 | 成人av教育| 欧美精品久久久久久久久老牛影院 | 91视频免费视频 | 毛片美女网站 | 国产美女精品视频免费观看 | 久久免费99| 日韩aⅴ视频 | 亚洲视频资源在线 | 伊人成人久久 | 国产精品久久久久aaaa九色 | 四虎成人精品永久免费av | 久久99热精品 | 亚洲做受高潮欧美裸体 | 天天综合色天天综合 | 日日操日日操 | 婷婷久月| 色多多在线观看 | 亚洲成人精品国产 | 亚洲三级网 | 亚洲精品播放 | 日韩天堂在线观看 | 九九色综合 | 在线免费观看亚洲视频 | 精品久久久精品 | 久久久久久国产精品999 | 中文字幕亚洲精品在线观看 | 日韩av成人免费看 | 免费看搞黄视频网站 | 久久久免费电影 | 免费看一级特黄a大片 | 国产伦精品一区二区三区… | 日韩理论视频 | 91黄色在线看 | 久久夜视频 | 久久开心激情 | 最近中文字幕高清字幕免费mv | 国产精品黄 | av网站在线免费观看 | 久久久久国产精品免费网站 | 久精品在线观看 | 天天操综 | 1000部国产精品成人观看 | 不卡的av电影 | 午夜精品一区二区三区视频免费看 | 亚洲专区在线播放 | 综合亚洲视频 | 国产欧美精品一区二区三区四区 | 国产美女精品 | 狠狠干干 | www.日日日.com| 在线观看日韩av | 久草在线免费播放 | 天天超碰 | 在线看国产 | 91高清免费在线观看 | 久久在线一区 | 香蕉视频久久久 | 国产亚洲精品久久 | 精品国产一区二区三区四区在线观看 | 日韩大片免费观看 | 99精品国产兔费观看久久99 | 国产婷婷 | 成人黄色在线观看视频 | 精品欧美一区二区在线观看 | 国产一级视频在线免费观看 | 又爽又黄又无遮挡网站动态图 | 午夜视频色 | 91在线最新 | 日韩一区二区三区不卡 | 91久久偷偷做嫩草影院 | 天天骚夜夜操 | 精品福利av | 国产精品免费视频一区二区 | 久久久久国产精品一区二区 | 欧美日韩在线视频一区二区 | www.com.日本一级 | 国产亚洲精品美女 | av免费在线播放 | 亚洲欧美日韩一二三区 | 久久久久北条麻妃免费看 | 色综合久久中文综合久久牛 | 综合久久精品 | 精品一区二区免费在线观看 | 黄色成人毛片 | 五月天久久婷婷 | 成人在线免费观看网站 | 久久免费在线观看视频 | 国产精品成久久久久三级 | 91九色蝌蚪视频 | 欧美极品裸体 | 精品国产区| 又污又黄的网站 | 在线视频一二区 | 特级片免费看 | 亚洲免费精品一区二区 | 精品欧美一区二区精品久久 | 亚洲国产av精品毛片鲁大师 | 亚洲精品国 | 密桃av在线 | 天天鲁天天干天天射 | 国产精品99久久久久久久久久久久 | 国产麻豆视频网站 | 精品一区二区三区在线播放 | 国产在线精品国自产拍影院 | 欧美日韩不卡一区 | 国产精品手机在线观看 | 久久久久久久久久电影 | 人人干人人做 | 久久成人精品 | 久久私人影院 | 不卡电影免费在线播放一区 | 黄色软件在线观看免费 | 五月婷婷狠狠 | 91麻豆精品一区二区三区 | 五月婷婷.com| 国产白浆在线观看 | 久久综合免费视频 | 黄色网址中文字幕 | 日日躁你夜夜躁你av蜜 | 精品国产免费av | 国产999视频在线观看 | 精品国产自在精品国产精野外直播 | 亚州精品天堂中文字幕 | 天天干天天拍天天操天天拍 | 国产一区在线免费观看 | 欧美日韩免费在线视频 | 天堂网一区二区 | 精品国产精品久久一区免费式 | 99 色| 国产中文字幕91 | 日韩大片在线看 | 中中文字幕av在线 | 美女在线国产 | 欧洲精品久久久久毛片完整版 | 日韩a级免费视频 | 久久久久免费视频 | 五月婷婷欧美 | 91麻豆精品国产91久久久久久 | 欧美a视频在线观看 | 欧美日韩国产在线精品 | 一区二区亚洲精品 | 超碰97中文| 欧美一区成人 | 色多多视频在线观看 | 日韩电影在线观看一区二区三区 | 久久99影院| 青草视频在线播放 | 国产成人a亚洲精品 | 97在线视频观看 | 九九免费在线观看 | 97操碰| 成人毛片100免费观看 | 国产亚洲激情视频在线 | 日韩一级成人av | 亚洲欧美一区二区三区孕妇写真 | 免费av成人在线 | 日本精品中文字幕在线观看 | 久久最新 | 午夜婷婷在线观看 | 国产精品 中文在线 | 成人免费视频播放 | 亚洲精品一区中文字幕乱码 | 一区二区三区在线免费 | 久久精品毛片基地 | 正在播放一区 | 欧美精品久久久久久久久久久 | 啪一啪在线 | 成人午夜免费福利 | 日本在线精品视频 | 1区2区视频 | 精壮的侍卫呻吟h | 亚洲视频在线免费看 | av在线免费观看黄 | av福利在线| 人人爽人人爽人人片 | 在线视频 精品 | 波多野结衣在线中文字幕 | 久久伊人八月婷婷综合激情 | 97超碰在线资源 | 特黄免费av| 欧美视频在线观看免费网址 | 国产成人精品久 | 五月婷社区 | 日韩特级毛片 | 九九日九九操 | 久久免费大片 | 18av在线视频| 色综合久久中文综合久久牛 | 久久久综合九色合综国产精品 | 天天干天天操人体 | 日韩精品你懂的 | www.福利视频 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 狠狠躁18三区二区一区ai明星 | 中文字幕在线观看的网站 | 国产精品理论在线观看 | www.天堂av| 丁香婷婷网 | 一区二区伦理电影 | 在线а√天堂中文官网 | 97精品在线 | 成人xxxx| 日操操 | 中文字幕 婷婷 | 亚洲精品视频在线观看免费视频 | 在线激情网 | 五月天综合网 | 欧美激情精品一区 | 久久国产视屏 | 成人av动漫在线 | 精品国产一区二区三区四区vr | 午夜视频二区 | 中文字幕亚洲情99在线 | 最近中文字幕mv免费高清在线 | 久久久综合电影 | 黄色高清视频在线观看 | 成人av一区二区在线观看 | 精品二区久久 | 天天操天天干天天操天天干 | 欧美日韩久久久 | 欧美色图狠狠干 | 亚洲精品合集 | 摸阴视频| 成人三级网站在线观看 | 香蕉影视app | 7777精品伊人久久久大香线蕉 | 深爱开心激情网 | 欧美日韩视频一区二区三区 | 亚洲精选在线观看 | 国产精成人品免费观看 | 色视频 在线| 日韩精品一区二区在线观看 | 成人在线电影观看 | 国产色视频一区 | 97视频在线看 | 天天干天天草 | 亚洲精品在线视频 | 欧美日韩啪啪 | 久久免费视频3 | 丁香花在线视频观看免费 | 丁香视频全集免费观看 | 最新av网站在线观看 | 丁香婷婷激情五月 | 天堂资源在线观看视频 | av大片免费| 在线观看国产区 | 黄色小视频在线观看免费 | 日韩最新中文字幕 | 亚洲人久久久 | 欧美日韩一级久久久久久免费看 | 亚洲午夜精品一区 | 西西444www高清大胆 | 久久成人高清视频 | 成人黄色小说视频 | 伊人久久国产精品 | 黄色www免费 | 日韩中文字幕免费视频 | 日本视频高清 | 91福利专区 | 久久久久久久久福利 | 午夜视频黄 | 国产免费一区二区三区最新 | 色综合小说 | 日韩精品一区二区三区免费视频观看 | 久久看片网站 | 成人国产网站 | 在线观看91视频 | 久久精品网站免费观看 | 99久久这里只有精品 | 国产日韩欧美在线播放 | 免费观看一级一片 | 色婷婷视频在线观看 | 激情久久久久 | 国产精品一区二区三区四 | 亚洲日韩精品欧美一区二区 | 国产在线精品一区 | 制服丝袜成人在线 | 黄色av电影在线 | 日韩在线字幕 | 最新av在线网站 | 中文字幕一区二区三区四区 | av最新资源 | 免费日韩一区二区三区 | 在线黄色av | 欧美成年人在线视频 | 亚洲一区二区视频在线 | 久久天天操| 综合色婷婷 | www.天天综合 | 91久久精品一区二区三区 | 国产精品久久久久久久午夜 | 国产成人免费在线观看 | 中文字幕一区二区三区四区视频 | 久久综合五月天 | av大全在线观看 | 免费在线电影网址大全 | 日本特黄一级 | 国产亚洲在 | 国产精品99久久久久久久久久久久 | 91精品国产自产老师啪 | 国产特级毛片 | 色婷婷狠狠五月综合天色拍 | 四虎成人精品永久免费av九九 | 国产91在线看 | 国产又粗又长又硬免费视频 | 日韩精品视频在线免费观看 | 五月婷婷丁香综合 | 欧美一级电影在线观看 | 一区三区在线欧 | 美女国产网站 | 日韩视频二区 | 成人av免费网站 | 亚洲区精品 | 亚洲黄色av | 亚洲国产精品免费 | 午夜视频在线观看网站 | 国产精品高潮呻吟久久av无 | 狠狠狠狠狠干 | 2021国产在线| 天天操天天爽天天干 | 91在线色| 日韩国产欧美视频 | 九月婷婷人人澡人人添人人爽 | 亚洲精品成人网 | 欧美日韩精品在线视频 | 九九亚洲视频 | 久久与婷婷| 国产大片免费久久 | 香蕉视频在线免费 | 最近日本mv字幕免费观看 | 美女久久久久久久 | 麻花豆传媒一二三产区 | 成人动态视频 | 亚洲精品乱码久久久久久按摩 | 婷婷成人综合 | 在线观看日韩一区 | 免费在线观看视频a | 日韩视 | 少妇自拍av | 久久8精品 | 亚洲精品人人 | 久草视频在线资源 | 中文字幕av在线免费 | 天天操天天谢 | 久久久久久久99精品免费观看 | 91一区二区三区在线观看 | 久久免费福利 | 丁香伊人网| 久久香蕉电影网 | 涩涩资源网 | 伊人色播 | 成人一级片免费看 | 水蜜桃亚洲一二三四在线 | 99免费看片 | 亚洲自拍偷拍色图 | 午夜骚影 | 91亚色视频在线观看 | 亚洲黄色激情小说 | 国内少妇自拍视频一区 | 久久综合成人网 | 99久久久国产精品美女 | 久久网址| 国产不卡免费 | 91成人亚洲| 色婷婷综合久色 | 美女免费视频观看网站 | 97天天综合网 | 天天爽人人爽 | 久久久久久久久久久福利 | 国产视频网站在线观看 | 91福利在线观看 | 99久久99久国产黄毛片 | 亚洲va欧美va人人爽 | 久久精品视频国产 | 97综合在线| 中文字幕亚洲在线观看 | 久久深夜福利免费观看 | 国产在线专区 | 日日夜夜网 | 亚洲免费一级 | 日韩字幕在线 | 四虎影视精品永久在线观看 | 丁香六月天婷婷 | 亚洲成人一二三 | 成人动态视频 | 国色天香第二季 | 日韩欧美视频在线 | 国产成人福利片 | 丁香激情综合久久伊人久久 | 日韩有码中文字幕在线 | 成人免费看视频 | 欧美激情精品久久久久久免费印度 | 精品999久久久 | 99视频免费在线观看 | 亚洲综合婷婷 | 高潮毛片无遮挡高清免费 | 久久久91精品国产一区二区三区 | 欧美精品久久久久久久久久白贞 | 国产视频精品久久 | 日日夜夜噜 | 天天超碰 | www.久草.com | 国产精品亚洲精品 | 国产福利91精品一区 | 亚洲精品男女 | 精品久久久久久亚洲 | 天天色天天上天天操 | 黄色特一级片 | 国产成人久久77777精品 | 九九热在线免费观看 | 伊人久久av| 国产精品com | 日韩天堂在线观看 | 国内久久看 | 亚洲精品中文字幕视频 | 国产乱码精品一区二区三区介绍 | 日韩一二区在线观看 | 日本黄色一级电影 | 欧美日韩性生活 | 国产免费不卡av | 中文字幕在线观看免费观看 | 在线视频欧美日韩 | 久久久久久久久久网站 | 超碰人人做 | 欧美少妇的秘密 | 久久精品免视看 | 免费一级特黄毛大片 | 麻豆影视在线免费观看 | 视频国产区 | 在线亚洲免费视频 | 国产偷国产偷亚洲清高 | 操操爽 | 97视频人人| 国产乱对白刺激视频在线观看女王 | 91精品对白一区国产伦 | 狠狠色狠狠色合久久伊人 | 五月开心综合 | 婷婷丁香五 | 99热这里精品| 亚洲午夜精 | 国产精品久久久久久五月尺 | 五月天亚洲婷婷 | 亚洲色图22p | www色综合 | 美女av电影 | 91精品推荐| 一区二区视频在线看 | 在线成人小视频 | 久精品在线 | 9992tv成人免费看片 | 在线视频在线观看 | 国产精品久久久影视 | 成人动漫一区二区三区 | av电影在线观看 | 一区二区三区免费看 | 国产午夜三级一区二区三桃花影视 | 亚洲永久国产精品 | 国产视频在 | 天天操夜夜摸 | 欧美精品一区二区在线播放 | 国产精品对白一区二区三区 | 99av在线视频| 伊人在线视频 | 天天操综合网站 | 国产看片网站 | 亚洲视频一区二区三区在线观看 | 91久久在线观看 | 精品成人网 | 亚洲高清在线视频 | 久久综合九色 | 精壮的侍卫呻吟h | 免费视频你懂得 | 久草精品在线播放 | 久久精品免视看 | 欧美亚洲一区二区在线 | 最新av网址在线 | 国产精品久久网站 | 久久99精品国产99久久 | 深爱激情五月婷婷 | 精品久久1 | 中文字幕一区二区在线播放 | 亚洲精品视频久久 | 在线国产能看的 | 97在线免费视频观看 | 久久69精品久久久久久久电影好 | 中文字幕人成乱码在线观看 | 美女视频永久黄网站免费观看国产 | 国产精品xxxx18a99 | 国产精品一区二 | 国产日产精品一区二区三区四区的观看方式 | 91日韩在线视频 | 亚洲欧洲成人 | 亚洲欧洲中文日韩久久av乱码 | 九色激情网 | 欧美一二三专区 | 在线久热| 午夜成人免费影院 | av一级久久| 夜夜爱av | 久久这里只有精品视频99 | 99热99 | 中文字幕丝袜一区二区 | 久久久久女人精品毛片九一 | 青青久草在线视频 | a在线视频v视频 | 精品女同一区二区三区在线观看 | a成人v | 九九爱免费视频 | 精品视频免费观看 | 国产人免费人成免费视频 | 色噜噜日韩精品欧美一区二区 | 日韩免费观看一区二区 | 精品国产亚洲一区二区麻豆 | 亚洲黄色av网址 | 五月天免费网站 | 欧美小视频在线 | 欧美日韩国产精品一区二区三区 | 国产丝袜网站 | 精品国产一区二区三区四 | 亚洲九九影院 | 日韩成人精品 | 久久国产精品99国产精 | 亚洲精品视频在线播放 | 亚洲伊人婷婷 | 成人三级网址 | 成人中文字幕在线 | 中文字幕一区二区在线观看 | 精品中文字幕在线播放 | 人人澡人人爽欧一区 | 久久婷婷亚洲 | 国产99久久久精品 | www.超碰 | 国产小视频免费在线网址 | 国产精品久久久久婷婷 | 成年免费在线视频 | 四虎永久精品在线 | 久久区二区 | 日韩黄色av网站 | 又爽又黄又无遮挡网站动态图 | 九九久久视频 | 九九久久电影 | 手机看片国产 | 色综合久久久久久中文网 | 最新午夜 | 91av福利视频 | 久久亚洲专区 | 国产午夜在线 | 亚洲自拍自偷 | 国产亚洲精品综合一区91 | 国产精品成人一区 | 乱男乱女www7788 | 成人一级电影在线观看 | 久久久久在线 | 久久伊人婷婷 | 国产黄色播放 | 在线观看麻豆av | 欧美精品色 | 免费人成在线观看网站 | 日日躁你夜夜躁你av蜜 | 超碰免费公开 | 欧美乱大交 | 国产精品网站 | 欧美精品资源 | 色综合天天爱 | 伊人春色电影网 | 久久高清免费视频 |