精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

數(shù)據(jù)湖領域 Avro、Parquet 和 ORC 三種文件格式到底有什么區(qū)別?他們的應用場景是怎么樣的?

大數(shù)據(jù) 數(shù)據(jù)湖
本文將從設計理念、存儲結構、壓縮編碼、性能表現(xiàn)、生態(tài)支持等維度,對這三大格式進行深度剖析,為技術選型提供全面參考。

在當今大數(shù)據(jù)生態(tài)系統(tǒng)中,文件格式作為數(shù)據(jù)存儲的基礎設施,直接影響著數(shù)據(jù)處理效率、存儲成本和系統(tǒng)兼容性。Avro、Parquet和ORC作為數(shù)據(jù)湖領域最主流的三種文件格式,各自憑借獨特的設計哲學和技術優(yōu)勢,在不同場景下發(fā)揮著關鍵作用。

本文將從設計理念、存儲結構、壓縮編碼、性能表現(xiàn)、生態(tài)支持等維度,對這三大格式進行深度剖析,為技術選型提供全面參考。

一、設計哲學與誕生背景

1. Avro:為動態(tài)數(shù)據(jù)與RPC而生的行式存儲

誕生背景:2009年由Doug Cutting(Hadoop創(chuàng)始人)主導開發(fā),最初為Hadoop RPC設計,后演變?yōu)橥ㄓ眯蛄谢到y(tǒng)

核心設計理念:

  • 模式優(yōu)先:數(shù)據(jù)模式(Schema)與數(shù)據(jù)一同存儲,支持動態(tài)模式演進
  • 語言無關:提供多語言綁定(Java、Python、C++等)
  • RPC優(yōu)化:原生支持遠程過程調用,數(shù)據(jù)序列化/反序列化效率極高

典型應用場景:Kafka消息序列化、日志采集、流式數(shù)據(jù)管道、需要頻繁模式變更的系統(tǒng)

2. Parquet:為列式存儲而生的分析引擎

誕生背景:2013年由Twitter和Cloudera聯(lián)合推出,專為Dremel/Impala等分析引擎設計

核心設計理念:

  • 列式存儲:按列而非按行組織數(shù)據(jù),最大化分析查詢性能
  • 嵌套數(shù)據(jù)支持:首創(chuàng)“記錄粉碎與組裝”(Record Shredding and Assembly)算法處理復雜嵌套結構
  • 謂詞下推優(yōu)化:通過存儲統(tǒng)計信息實現(xiàn)數(shù)據(jù)跳過

典型應用場景:數(shù)據(jù)倉庫、OLAP分析、機器學習特征存儲、需要高壓縮比的場景

3. ORC:為Hive生態(tài)而生的優(yōu)化列存

誕生背景:2013年Hive項目孵化,作為RCFile的演進版本

核心設計理念:

  • Hive深度集成:原生支持ACID事務、向量化查詢、索引優(yōu)化
  • 輕量級索引:內置行索引、統(tǒng)計信息、布隆過濾器
  • 增量讀?。横槍ive的增量查詢場景優(yōu)化

典型應用場景:Hive數(shù)倉、需要ACID事務的場景、大規(guī)模ETL處理

二、存儲結構深度解析

1. Avro:行式存儲的極致簡潔

文件結構:
┌─────────────────┐
│   Magic Bytes   │ 4字節(jié) (固定值"Obj1")
├─────────────────┤
│  Meta Data Map  │ 鍵值對(如壓縮算法、模式文件位置)
├─────────────────┤
│ Sync Marker     │ 16字節(jié)同步標記(用于分割數(shù)據(jù)塊)
├─────────────────┤
│  Data Block 1   │ 
│   - Records     │ 連續(xù)存儲的序列化記錄
│   - Sync Marker │ 
├─────────────────┤
│  Data Block 2   │ 
│   - Records     │ 
│   - Sync Marker │ 
└─────────────────┘

技術特點:

  • 行存儲本質:每條記錄完整存儲,適合整行讀寫
  • 模式嵌入:數(shù)據(jù)文件頭部包含JSON格式的模式定義
  • 同步標記:每塊數(shù)據(jù)間插入固定標記,支持并行讀取和錯誤恢復
  • 可拆分性:通過同步標記實現(xiàn)HDFS等分布式文件系統(tǒng)的并行處理

2. Parquet:列式存儲的精密設計

文件結構:
┌─────────────────────────┐
│      PAR1 (Magic)      │ 4字節(jié)
├─────────────────────────┤
│     File Metadata       │ 
│   - Version            │ 
│   - Schema             │ 
│   - Num Rows           │ 
│   - Row Groups         │ 
│   - Column Chunks      │ 
├─────────────────────────┤
│     Column Chunks      │ 
│   - Page 1 (Dict Page) │ 字典頁(可選)
│   - Page 2 (Data Page) │ 數(shù)據(jù)頁
│   - Page 3 (Data Page) │ 
├─────────────────────────┤
│     Row Group 1        │ 
│   - Column Chunk 1     │ 
│   - Column Chunk 2     │ 
├─────────────────────────┤
│     Row Group 2        │ 
│   - Column Chunk 1     │ 
│   - Column Chunk 2     │ 
├─────────────────────────┤
│      Footer Length     │ 4字節(jié)
├─────────────────────────┤
│        Footer          │ 包含元數(shù)據(jù)指針
└─────────────────────────┘

核心技術:

三層存儲結構:

  • 行組(Row Group):邏輯行集合(通常128MB),并行處理單元
  • 列塊(Column Chunk):行組內單列數(shù)據(jù)的物理存儲
  • 頁(Page):列塊內的最小存儲單元(默認1MB),包含數(shù)據(jù)頁/字典頁/索引頁

嵌套數(shù)據(jù)處理:

  • Dremel論文算法:將嵌套結構“粉碎”為列式存儲,通過重復級別(Repetition Level)和定義級別(Definition Level)重建原始結構
  • 示例:對于user.addresses[].street,存儲時會拆分為用戶ID、地址索引、街道值三列

編碼優(yōu)化:

  • 字典編碼:對低基數(shù)列建立數(shù)字索引(如國家代碼)
  • 行程編碼(RLE):壓縮連續(xù)重復值(如布爾列)
  • Delta編碼:對有序數(shù)值列存儲差值

3. ORC:為查詢而生的精巧架構

文件結構:
┌─────────────────────────┐
│        ORC Magic        │ 3字節(jié) ("ORC")
├─────────────────────────┤
│     File Footer         │ 
│   - File Length         │ 
│   - Postscript Length   │ 
│   - Postscript          │ 
│   - Footer              │ 
│     - Schema            │ 
│     - Statistics        │ 
│     - Stripe Info       │ 
├─────────────────────────┤
│      Stripe 1           │ 
│   - Index Data          │ 行索引+列統(tǒng)計
│   - Row Data            │ 列式數(shù)據(jù)
│   - Stripe Footer       │ 
├─────────────────────────┤
│      Stripe 2           │ 
└─────────────────────────┘

創(chuàng)新設計:

條帶(Stripe)結構:

  • 默認250MB大小的數(shù)據(jù)塊,包含索引數(shù)據(jù)、行數(shù)據(jù)、條帶尾部
  • 索引數(shù)據(jù):每列的行索引(記錄位置)和統(tǒng)計信息(min/max/count)
  • 行數(shù)據(jù):采用列式存儲,支持流式讀取

輕量級索引:

  • 行索引:記錄每10000行的位置偏移,實現(xiàn)快速定位
  • 布隆過濾器:加速等值查詢(如WHERE user_id = 123)
  • 列統(tǒng)計信息:存儲min/max/sum/count等,支持謂詞下推

ACID支持:

  • 通過基礎文件(Base File) + 增量文件(Delta File) 實現(xiàn)事務
  • 使用復合鍵(TransactionID + RowID) 實現(xiàn)行級版本控制

三、壓縮與編碼技術對比

特性

Avro

Parquet

ORC

默認壓縮

Snappy (平衡壓縮比與速度)

Snappy (可配置ZSTD/GZIP)

ZLIB (可配置Snappy/ZSTD)

字典編碼

? 不支持

? 強支持(低基數(shù)列壓縮率提升10-100倍)

? 支持(針對字符串/二進制列)

行程編碼(RLE)

? 不支持

? 支持(布爾/整數(shù)列壓縮率提升5-20倍)

? 支持(整數(shù)/時間戳列)

Delta編碼

? 不支持

? 支持(有序數(shù)值列壓縮率提升30-50%)

? 支持(時間戳/自增ID列)

嵌套數(shù)據(jù)編碼

? 原生支持(模式定義)

? 獨創(chuàng)Dremel算法(復雜結構高效存儲)

? 支持(但處理效率低于Parquet)

壓縮比

中 (3-5x)

高 (5-10x)

最高 (6-12x)

壓縮速度

最快(行式存儲天然優(yōu)勢)

中等(列式編碼開銷)

中等(類似Parquet)

實測數(shù)據(jù)(TPC-DS 1GB數(shù)據(jù)集):

未壓縮CSV: 1.2 GB
Avro+Snappy: 320 MB (壓縮比 3.75x)
Parquet+Snappy: 180 MB (壓縮比 6.67x)
ORC+ZLIB: 150 MB (壓縮比 8.0x)

四、性能表現(xiàn)全方位對比

1. 寫入性能

# 寫入100萬條記錄的基準測試(單位:秒)
| 格式    | 無壓縮 | Snappy | ZSTD   |
|---------|--------|--------|--------|
| Avro    | 1.2    | 1.5    | 2.1    |
| Parquet | 3.8    | 4.2    | 5.0    |
| ORC     | 4.1    | 4.5    | 5.3    |

關鍵結論:

  • Avro寫入最快:行式存儲無需列式編碼,適合流式寫入場景(如Kafka->HDFS)
  • Parquet/ORC寫入較慢:列式存儲需要內存緩沖和編碼轉換,寫入開銷增加3-4倍
  • 壓縮算法影響:ZSTD比Snappy慢30%,但壓縮比提升20-40%

2. 讀取性能

場景1:全表掃描(TPC-DS store_sales表)

# 讀取100GB數(shù)據(jù)耗時(單位:秒)
| 格式    | 無壓縮 | Snappy | ZSTD   |
|---------|--------|--------|--------|
| Avro    | 420    | 380    | 360    |
| Parquet | 180    | 150    | 140    |
| ORC     | 160    | 130    | 120    |

場景2:謂詞下推查詢(WHERE ss_sold_date_sk = 2450815)

# 數(shù)據(jù)跳過率與查詢耗時
| 格式    | 數(shù)據(jù)跳過率 | 耗時(秒) |
|---------|------------|----------|
| Avro    | 0%         | 380      |
| Parquet | 92%        | 45       |
| ORC     | 95%        | 38       |

關鍵結論:

  • 列式存儲碾壓式優(yōu)勢:分析查詢中Parquet/ORC比Avro快2-3倍
  • 謂詞下推效果:ORC的輕量級索引使其在過濾查詢中略勝Parquet
  • 壓縮影響:ZSTD在讀取時比Snappy慢10-15%,但I/O節(jié)省顯著

3. 模式演進能力

// 原始模式
{
  "type": "record",
  "name": "User",
  "fields": [
    {"name": "id", "type": "int"},
    {"name": "name", "type": "string"}
  ]
}

// 演進后模式(新增email字段)
{
  "type": "record",
  "name": "User",
  "fields": [
    {"name": "id", "type": "int"},
    {"name": "name", "type": "string"},
    {"name": "email", "type": ["null", "string"], "default": null}
  ]
}

演進支持對比:

操作

Avro

Parquet

ORC

新增字段(默認值)

?

?

?

刪除字段

?

?

?

重命名字段

?

?

?

類型提升(int→long)

?

?

?

字段順序變更

?

?

?

Avro的獨有優(yōu)勢:

  • 通過模式解析(Schema Resolution)機制,讀寫端使用不同模式版本
  • 新增字段自動填充默認值,刪除字段自動忽略
  • 支持模式別名(aliases)實現(xiàn)字段重命名

五、生態(tài)系統(tǒng)兼容性

1. 引擎支持矩陣

引擎/框架

Avro

Parquet

ORC

Apache Spark

?

???

??

Apache Flink

???

??

?

Apache Hive

?

??

???

Presto/Trino

?

???

??

Apache Impala

?

???

?

Apache Kafka

???

?

?

Apache Drill

?

???

?

Apache Arrow

?

??

?

關鍵發(fā)現(xiàn):

  • Parquet:分析引擎的通用標準(Spark/Presto/Impala首選)
  • ORC:Hive生態(tài)的深度集成(ACID/向量化查詢)
  • Avro:流處理系統(tǒng)的首選(Kafka/Flink原生支持)

2. 工具鏈支持

# Avro工具示例
avro-tools getmeta user.avro  # 查看元數(shù)據(jù)
avro-tools tojson user.avro   # 轉換為JSON

# Parquet工具示例
parquet-tools schema user.parquet  # 查看模式
parquet-tools head user.parquet    # 預覽數(shù)據(jù)

# ORC工具示例
orc-tools meta user.orc    # 查看元數(shù)據(jù)
orc-tools data user.orc    # 查看數(shù)據(jù)

語言綁定成熟度:

語言

Avro

Parquet

ORC

Java

???

???

???

Python

??

??

?

C++

??

??

?

Go

?

?

?

Rust

?

?

?

六、典型應用場景與選型指南

1. Avro:流處理與動態(tài)數(shù)據(jù)的首選

最佳場景:

  • Kafka消息序列化:Confluent Platform默認使用Avro + Schema Registry
  • 日志采集系統(tǒng):Flume/Logstash收集動態(tài)結構日志
  • 實時數(shù)據(jù)管道:Flink CDC捕獲數(shù)據(jù)庫變更
  • 需要模式演進的系統(tǒng):用戶畫像標簽頻繁變更

選型案例:

// Flink CDC使用Avro格式
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
DebeziumSourceFunction<String> source = MySQLSource.<String>builder()
    .hostname("localhost")
    .port(3306)
    .databaseList("mydb")
    .tableList("mydb.users")
    .deserializer(new AvroDebeziumDeserializationSchema()) // 使用Avro反序列化
    .build();
env.addSource(source).print();

2. Parquet:通用分析存儲的王者

最佳場景:

  • 數(shù)據(jù)倉庫存儲層:AWS S3 + Athena/Redshift標準組合
  • 機器學習特征存儲:TensorFlow/PyTorch訓練數(shù)據(jù)集
  • 交互式查詢:Presto/Trino即席查詢
  • 嵌套數(shù)據(jù)分析:JSON/Protobuf數(shù)據(jù)的高效存儲

選型案例:

# Spark寫入Parquet優(yōu)化
df.write \
  .format("parquet") \
  .option("compression", "zstd") \
  .option("parquet.block.size", 128 * 1024 * 1024) \  # 128MB行組
  .option("parquet.page.size", 1 * 1024 * 1024) \     # 1MB頁
  .save("s3a://data-lake/sales/")

3. ORC:Hive生態(tài)的優(yōu)化之選

最佳場景:

  • Hive事務表:ACID事務支持(更新/刪除/小文件合并)
  • 大規(guī)模ETL處理:Tez/MapReduce作業(yè)優(yōu)化
  • 時間序列分析:ORC的時間戳編碼優(yōu)化
  • 需要高壓縮比的歸檔:歷史數(shù)據(jù)冷存儲

選型案例:

-- 創(chuàng)建Hive ORC事務表
CREATE TABLE orders (
  order_id BIGINT,
  customer_id BIGINT,
  order_date TIMESTAMP,
  amount DECIMAL(10,2)
) CLUSTERED BY (customer_id) INTO 32 BUCKETS
STORED AS ORC
TBLPROPERTIES (
  "transactional"="true",           -- 啟用ACID
  "orc.compress"="zstd",           -- 使用ZSTD壓縮
  "orc.create.index"="true"         -- 啟用索引
);

4. 混合使用策略

場景:Lambda架構數(shù)據(jù)湖

實時層(Kafka) → Avro → 流處理(Flink)
    ↓
批處理層(HDFS) → Parquet → 交互查詢(Presto)
    ↓
歸檔層(S3) → ORC → 長期存儲(Hive)

技術實現(xiàn):

# 使用Flink SQL實現(xiàn)格式轉換
INSERT INTO hdfs_sales_parquet
SELECT * FROM kafka_sales_avro;  -- Avro -> Parquet

INSERT INTO s3_sales_orc
SELECT * FROM hdfs_sales_parquet; -- Parquet -> ORC

七、未來發(fā)展趨勢

1. 格式融合創(chuàng)新

  • Apache Iceberg/Delta Lake:采用Parquet作為數(shù)據(jù)文件,但通過元數(shù)據(jù)層實現(xiàn)ACID和時間旅行
  • Apache Paimon:默認使用Avro數(shù)據(jù)文件,但支持Parquet/ORC作為可選格式
  • 混合存儲:同一文件內混合行存(熱數(shù)據(jù))和列存(冷數(shù)據(jù))

2. 性能優(yōu)化方向

  • ZSTD壓縮普及:在Parquet/ORC中替代Snappy成為默認壓縮算法
  • GPU加速:利用GPU進行列式解壓縮和向量化查詢
  • 智能編碼:基于數(shù)據(jù)特征自動選擇最優(yōu)編碼方式

3. 生態(tài)演進

  • 統(tǒng)一API:Apache Arrow作為內存格式,橋接不同文件格式
  • 云原生優(yōu)化:針對對象存儲(S3/OSS)的專用優(yōu)化
  • Serverless集成:與AWS Lambda/Azure Functions的無縫集成

八、結論:沒有銀彈,只有最適合的選擇

通過對Avro、Parquet、ORC三大格式的深度剖析,我們可以得出以下核心結論:

1. 設計哲學決定適用場景

  • Avro:為動態(tài)數(shù)據(jù)和流處理而生,模式演進是殺手锏
  • Parquet:為分析查詢而優(yōu)化,嵌套數(shù)據(jù)處理是獨門絕技
  • ORC:為Hive生態(tài)而定制,ACID和輕量級索引是核心競爭力

2. 性能存在明確邊界

  • 寫入性能:Avro > Parquet ≈ ORC
  • 分析查詢:ORC ≈ Parquet > Avro
  • 壓縮比:ORC > Parquet > Avro

3. 生態(tài)支持各有側重

  • 流處理系統(tǒng)首選Avro
  • 通用分析引擎首選Parquet
  • Hive深度集成首選ORC

4. 選型決策樹

是否需要流式寫入/模式演進?
├── 是 → 選擇Avro
└── 否
    ├── 是否需要Hive ACID事務?
    │   ├── 是 → 選擇ORC
    │   └── 否
    │       ├── 是否有復雜嵌套數(shù)據(jù)?
    │       │   ├── 是 → 選擇Parquet
    │       │   └── 否
    │       └── 追求最高壓縮比 → 選擇ORC

5. 未來趨勢

  • 格式邊界模糊化:通過元數(shù)據(jù)層實現(xiàn)格式無關的高級特性
  • 性能持續(xù)優(yōu)化:ZSTD壓縮、GPU加速、智能編碼
  • 云原生深度集成:針對Serverless和對象存儲的優(yōu)化

在數(shù)據(jù)湖技術快速演進的今天,理解這三大格式的本質差異,掌握其適用場景和性能邊界,是構建高效、可靠、可擴展數(shù)據(jù)平臺的關鍵。沒有絕對的最佳格式,只有最適合當前業(yè)務需求和技術棧的選擇。明智的架構師會根據(jù)具體場景靈活組合使用這些格式,充分發(fā)揮各自的優(yōu)勢,構建出真正滿足業(yè)務需求的數(shù)據(jù)基礎設施。

責任編輯:趙寧寧 來源: 大數(shù)據(jù)技能圈
相關推薦

2021-09-06 10:45:18

XDRMDR

2024-02-26 07:36:09

lockJava語言

2023-03-08 09:48:08

SpringWAR文件JAR文件

2020-08-19 08:10:11

數(shù)據(jù)分析技術IT

2021-09-28 16:22:48

區(qū)塊鏈大數(shù)據(jù)應用

2020-10-29 09:49:32

HarmonyOS鴻蒙安卓應用

2021-09-07 14:17:12

區(qū)塊鏈版權技術

2021-03-15 13:36:23

區(qū)塊鏈大數(shù)據(jù)技術

2021-06-11 10:20:23

區(qū)塊鏈大數(shù)據(jù)技術

2022-10-27 19:32:20

切片golang數(shù)組

2022-09-14 09:45:15

指標標簽

2012-07-25 15:45:28

ERPSCM

2018-08-28 16:10:36

2022-10-18 10:10:52

數(shù)據(jù)技術

2019-04-23 08:23:51

統(tǒng)計學機器學習人工智能

2023-07-19 21:54:02

小區(qū)扇區(qū)信號

2024-05-22 08:02:30

2016-05-23 15:50:41

Linuxnice(NI)priority(PR

2025-03-24 12:18:25

數(shù)據(jù)庫數(shù)據(jù)倉庫存儲

2022-03-08 07:26:15

JPEGPNG圖像編輯器
點贊
收藏

51CTO技術棧公眾號

老汉色影院首页| 国产欧美精品xxxx另类| 国产网站无遮挡| 全球最大av网站久久| 亚洲欧美日韩国产综合| 国严精品久久久久久亚洲影视| 日韩一区二区视频在线| 91日韩在线| 亚洲国产私拍精品国模在线观看| 久久综合久久色| 日本动漫理论片在线观看网站| 91天堂素人约啪| 91久久久久久久久久久久久| 一级免费在线观看| 久久精品国产www456c0m| 亚洲大胆人体在线| 午夜国产福利在线观看| 国产免费不卡| 亚洲午夜久久久久久久久电影院| 亚洲欧美精品| 日本人妖在线| 成人午夜电影网站| 成人性生交大片免费看小说| 国产性生活视频| 在线精品一区| 久久亚洲精品成人| 国产精品伦子伦| 97久久综合区小说区图片区| 欧美专区日韩专区| 国产网站免费在线观看| 啪啪免费视频一区| 亚洲天堂福利av| 亚洲精品一区二区毛豆| 免费在线超碰| 91香蕉视频在线| 国产精品毛片va一区二区三区| 国产精品欧美久久久久天天影视| 亚洲日本激情| 欧美激情中文字幕在线| 少妇的滋味中文字幕bd| 精品国精品国产自在久国产应用| 日韩av影视在线| 国产xxxx视频| 国产精品视屏| 亚洲电影免费观看高清| 中文字幕avav| 日韩精品一级| 日韩午夜激情视频| 天天干天天曰天天操| 综合久久伊人| 日韩一区二区三| 丰满少妇一区二区三区专区| 欧美日本三级| 日韩一级大片在线观看| 激情成人在线观看| 欧美h版在线观看| 日韩午夜小视频| 最新日本中文字幕| 国产精品久久久久久久久久白浆| 精品国产凹凸成av人导航| 中文字幕视频观看| 老司机精品在线| 日韩电影大全免费观看2023年上| 国产肉体xxxx裸体784大胆| 日韩福利视频一区| 国产亚洲欧美一区| 中文字幕观看av| 欧美韩国一区| 性视频1819p久久| 九一国产在线观看| 日本成人在线电影网| 国产精品在线看| 97在线公开视频| 粉嫩aⅴ一区二区三区四区| 国产精品区二区三区日本| 日本激情一区二区| 久久精品人人爽人人爽| 亚洲国产精品www| 中国av在线播放| 亚洲va韩国va欧美va| 欧美视频免费播放| 日韩黄色在线| 日韩久久久精品| 西西大胆午夜视频| 97精品国产一区二区三区| 欧美大片免费观看| 91美女免费看| 国产主播一区二区三区| 国产精品一区二区三区在线观| 激情视频在线观看免费| 成人欧美一区二区三区小说 | 亚洲精品极品少妇16p| 美女视频久久黄| 五月婷婷亚洲综合| 蜜芽一区二区三区| 国产精华一区二区三区| 高清av电影在线观看| 亚洲网友自拍偷拍| 91淫黄看大片| 荡女精品导航| 日韩中文字幕久久| 91美女免费看| 国产电影一区在线| 亚洲精品9999| 欧美伦理91| 欧美成人a视频| 日本欧美一区二区三区不卡视频| 激情综合电影网| 成人国产精品久久久| 可以在线观看的av| 亚洲狼人国产精品| 一路向西2在线观看| 国产精品香蕉| 久久精品国产精品亚洲| 日韩人妻精品中文字幕| 高清国产午夜精品久久久久久| 日本精品一区二区三区高清 久久 日本精品一区二区三区不卡无字幕 | 成人免费一区二区三区视频网站| 亚洲国产中文字幕| 中文字幕第三区| 欧美国产美女| 国产精品大片wwwwww| 天天av天天翘| 亚洲国产综合人成综合网站| 日本人dh亚洲人ⅹxx| 区一区二视频| 国产精品7m视频| 在线观看xxx| 亚洲国产cao| 成年人看片网站| 亚洲天堂一区二区三区四区| 国产精品日韩av| 国产区视频在线| 欧美视频不卡中文| 特级西西人体4444xxxx| 99精品国产在热久久婷婷| 国产精品久久精品国产| 神马午夜伦理不卡| 日韩欧美综合在线| 男女羞羞免费视频| 国产一区二区在线观看视频| 夜夜爽www精品| 久久爱.com| 日韩一区二区三区xxxx| 一级片视频播放| 国产精品久久久一本精品| 国产九九在线视频| 久久精品国产亚洲夜色av网站| 国产精品人成电影在线观看| 日本三级视频在线播放| 欧美男女性生活在线直播观看| 国产农村妇女精品一区| 国内不卡的二区三区中文字幕| 亚洲欧美日韩国产yyy| 国产伊人久久| 美女视频黄免费的亚洲男人天堂| 国产精品一品二区三区的使用体验| 亚洲视频一区二区在线| 国产又粗又猛大又黄又爽| 欧美黄色一区二区| 国产伦精品一区二区三区视频黑人| 福利在线导航136| 日韩电影中文字幕在线| 国产www在线| 亚洲国产高清在线| 涩多多在线观看| 红桃视频国产一区| 久久久久综合一区二区三区| 国产精品亚洲一区二区三区在线观看| 亚洲视频综合网| 一区二区视频免费| 亚洲美女免费视频| 久久精品女同亚洲女同13| 玖玖在线精品| 亚洲黄色网址在线观看| 国产精品99久久免费观看| 欧美在线观看一区二区三区| 成年人视频在线观看免费| 91精品一区二区三区久久久久久| 精品少妇久久久久久888优播| 99久久精品国产一区| 婷婷丁香激情网| 午夜久久美女| 日韩欧美三级一区二区| 色播一区二区| 国产精品第七影院| 在线中文免费视频| 亚洲视频一区二区三区| 国内老熟妇对白hdxxxx| 色婷婷久久久综合中文字幕| 91制片厂在线| 9色porny自拍视频一区二区| 婷婷免费在线观看| 最新国产乱人伦偷精品免费网站| 天堂精品一区二区三区| 国产成人一二片| 成人黄色免费片| 天堂8中文在线最新版在线| 久久不射电影网| 免费成人av电影| 日韩免费在线观看| 亚洲天堂男人网| 欧美日韩国产精品专区| 黄色片子在线观看| 久久精品在这里| 国产亚洲精品成人a| 久久精品理论片| 欧美丰满熟妇bbbbbb百度| 性欧美欧美巨大69| 欧美一区二区三区在线免费观看| www.丝袜精品| 成人免费高清完整版在线观看| 中文字幕一区久| 国模吧一区二区| 制服丝袜在线播放| 色哟哟入口国产精品| 色资源在线观看| 精品99一区二区| 99精品人妻无码专区在线视频区| 色狠狠色狠狠综合| 天天操天天摸天天干| 亚洲国产cao| 欧美黄色免费在线观看| 18欧美亚洲精品| av在线播放中文字幕| 久久久亚洲综合| 国产精品久久久免费观看| 成人免费视频app| aaaaa黄色片| 国产激情精品久久久第一区二区| 色一情一区二区三区| 麻豆久久一区二区| 午夜精品在线免费观看| 日本视频中文字幕一区二区三区| 日本精品www| 免费看亚洲片| 国产乱子夫妻xx黑人xyx真爽| 亚洲国产精品第一区二区| 欧美中文字幕在线观看视频| 亚洲激情中文在线| 日韩video| 中文av一区| 日本三级中文字幕在线观看| 亚洲精品国产成人影院| 欧美做受777cos| 欧美日韩1区| 日韩精品在线中文字幕| 激情久久久久久| 成人黄色av片| 久久成人免费| 另类小说第一页| 久久成人免费日本黄色| 亚洲网中文字幕| 国产精品一区二区在线观看不卡| 国产成人强伦免费视频网站| 国产成人精品免费在线| 国产精品久久久久久亚洲av| 成人晚上爱看视频| 亚洲国产精品成人综合久久久| 99久久99久久综合| a天堂中文字幕| 国产精品电影一区二区三区| 日韩在线中文字幕视频| 一区二区高清在线| 日韩精品一区二区在线播放| 懂色aⅴ精品一区二区三区蜜月| 日本系列第一页| 91成人在线免费观看| 在线免费a视频| 91精品免费观看| 欧美熟妇另类久久久久久不卡| 日韩电影中文字幕一区| 91精品大全| 欧美日本啪啪无遮挡网站| 蜜桃av在线| 国产精品免费视频久久久| 日韩精品一区二区三区中文在线 | 五月婷婷丁香色| 高清不卡一区二区| 亚洲av无码一区二区二三区| 国产精品乱人伦一区二区| 免费日韩在线视频| 色婷婷国产精品| 国产免费叼嘿网站免费| 亚洲精品二三区| 视频免费一区| 91精品国产成人| 成人18视频在线观看| 99精彩视频| 欧洲杯足球赛直播| 国产高清不卡无码视频| 日韩高清国产一区在线| 少妇欧美激情一区二区三区| 久久久久久97三级| 久草免费新视频| 欧美日韩一区在线观看| 日韩中文字幕免费观看| 久久韩国免费视频| 天堂中文av在线资源库| 2014亚洲精品| 欧洲杯什么时候开赛| 少妇无码av无码专区在线观看| 久久超碰97中文字幕| 中文字幕人妻一区二区| 一区二区久久久| 国产精品久久久久久久久久久久久久久久久久 | 欧美日韩视频不卡| 无码国产伦一区二区三区视频| xvideos成人免费中文版| 中文字幕影音在线| 成人免费在线看片| 999久久久国产精品| 37pao成人国产永久免费视频| 国产精品一二一区| 亚洲综合图片一区| 色噜噜久久综合| 无码精品在线观看| 欧美日韩国产91| 亚洲男男av| 亚洲精品国产一区| 日韩精品乱码av一区二区| 波多野结衣有码| 亚洲永久免费av| aaaa一级片| 久久精品99无色码中文字幕| 成人影院大全| 久久一区二区三区欧美亚洲| 在线不卡欧美| 国产伦精品一区二区三区88av| 一区在线中文字幕| 国产精品久久久久久久免费看| 中日韩美女免费视频网站在线观看| 在线观看v片| 精品综合在线| 一本色道久久综合亚洲精品不卡| 国产人妻黑人一区二区三区| 亚洲电影激情视频网站| 成人久久精品人妻一区二区三区| 美女撒尿一区二区三区| 日韩成人精品| 成人在线免费高清视频| 国产凹凸在线观看一区二区| 福利所第一导航| 日韩精品一区二区三区四区视频| 50度灰在线| 97视频热人人精品| 欧美日韩专区| 涩视频在线观看| 精品福利樱桃av导航| 香蕉视频成人在线| 日韩av免费在线观看| 精品国产精品| 最新天堂中文在线| 亚洲欧洲综合另类在线| 国产后入清纯学生妹| 久久久中精品2020中文| 久久97久久97精品免视看秋霞| 波多野结衣50连登视频| 久久久久久久综合色一本| 99re热视频| 久久精品国产亚洲精品| 亚洲精品福利| 91国视频在线| 欧美国产精品一区二区三区| 国产一区二区小视频| 久久91亚洲人成电影网站| 美女视频亚洲色图| 熟妇人妻va精品中文字幕| 国产精品美女久久久久久久久久久| 亚洲视频一区二区三区四区| 精品少妇v888av| 日韩av系列| 奇米影视四色在线| 一区二区三区不卡视频在线观看| 日韩一级片免费看| 国产福利视频一区| 亚洲乱码在线| www.超碰97| 欧美高清一级片在线| 俺来也官网欧美久久精品| 欧美日韩一区二区视频在线| 国产又粗又猛又爽又黄91精品| 国产精品第72页| 在线视频精品一| 成人h动漫免费观看网站| 无码人妻精品一区二区三区66| 日韩理论片在线| 色播色播色播色播色播在线| 国产日韩在线一区| 国产日韩欧美一区二区三区在线观看| 亚洲精品国产91| 精品对白一区国产伦| 91成人在线| 热99这里只有精品| 中文字幕永久在线不卡| 色窝窝无码一区二区三区| 国产噜噜噜噜噜久久久久久久久| 亚洲小说欧美另类婷婷| 夫妇露脸对白88av| 亚洲加勒比久久88色综合|