精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

久久国产精品精品国产色婷婷| 久久久91精品国产| 久久国产乱子伦免费精品| 婷婷伊人综合中文字幕| 美女视频一区免费观看| 中文在线不卡视频| 台湾佬美性中文| 国产精品专区免费| 亚洲欧洲av一区二区三区久久| 99伊人久久| 国产伦精品一区二区三区视频网站| 精品99在线| 555夜色666亚洲国产免| 日韩小视频在线播放| 3p在线观看| 国产一区不卡精品| 欧美综合在线观看| 亚洲国产美女视频| 台湾色综合娱乐中文网| 欧美精品亚洲一区二区在线播放| 免费一级特黄毛片| 毛片在线不卡| 久久久另类综合| 成人精品视频久久久久| 国产熟妇一区二区三区四区| 亚洲综合五月| 亚洲午夜小视频| 人妻体内射精一区二区三区| 成人看片毛片免费播放器| 婷婷夜色潮精品综合在线| 一本一生久久a久久精品综合蜜 | 亚洲麻豆一区| 精品国偷自产在线视频| 亚洲色图14p| 亚洲精品观看| 91精品久久久久久久91蜜桃 | 久久国产精品第一页| 69精品小视频| 国产午夜精品一区二区理论影院 | 91视视频在线直接观看在线看网页在线看 | 成人精品一二三区| 亚洲国产合集| 日韩电视剧在线观看免费网站| 51自拍视频在线观看| 69堂精品视频在线播放| 日韩欧美在线中文字幕| 亚洲 欧美 日韩 国产综合 在线| av免费网站在线观看| 中文字幕一区二区三区精华液| 日本不卡在线播放| 美女做暖暖视频免费在线观看全部网址91| 成人毛片在线观看| 国产精华一区二区三区| 性一交一乱一伧老太| 国产一区二区看久久| 国产日韩欧美电影在线观看| 亚洲国产无线乱码在线观看| 日韩经典中文字幕一区| 国产精品扒开腿做爽爽爽男男| 亚洲欧美日韩激情| 玖玖精品视频| 国产精品av电影| 姑娘第5集在线观看免费好剧| 久久国产日韩| 国产激情视频一区| 久久精品国产亚洲av麻豆蜜芽| 久久婷婷久久| 国产精品日韩一区| 一区二区日韩视频| 国产麻豆一精品一av一免费| 91传媒免费看| 刘亦菲毛片一区二区三区| 处破女av一区二区| 国产在线一区二区三区四区 | www.成人| 欧美成人r级一区二区三区| 中文字幕在线国产| 奇米影视777在线欧美电影观看| 亚洲精品短视频| 中文字幕av网址| 欧美亚洲精品在线| 久久精品国亚洲| 精品99久久久久成人网站免费 | 久久天天躁狠狠躁老女人| 二区三区四区视频| 99热在线成人| 久久久久久美女| 国产视频1区2区| 精品一区二区三区久久| 成人综合电影| 男人的天堂在线视频| 国产精品网站在线播放| av在线免费观看国产| 在线高清av| 欧美精品丝袜中出| v天堂中文在线| 成人直播大秀| 久久噜噜噜精品国产亚洲综合 | 欧美一区二区三区爱爱| 波多野结衣有码| 欧美国产偷国产精品三区| 欧美精品激情在线观看| 凹凸精品一区二区三区| 国产传媒欧美日韩成人| 欧美亚洲国产免费| 在线黄色网页| 在线观看日韩毛片| 成年女人免费视频| 91偷拍一区二区三区精品| 91国自产精品中文字幕亚洲| 国产一区二区自拍视频| 不卡视频一二三四| 国产av不卡一区二区| 综合日韩av| 欧美tk丨vk视频| 亚洲色图27p| 国产午夜久久| 91亚洲精品丁香在线观看| 免费福利在线观看| 亚洲一区二区在线播放相泽| 中文字幕成人在线视频| 亚洲精品中文字幕99999| 久久影视电视剧免费网站清宫辞电视| 天堂网中文字幕| 国产精品系列在线观看| 亚洲巨乳在线观看| 日韩在线视频在线| 97超碰在线人人| 日本免费在线一区| 亚洲国产精品久久久久秋霞蜜臀 | 亚洲欧洲日韩女同| 国产精品亚洲αv天堂无码| 极品美女扒开粉嫩小泬| 亚洲精品成人一区| 国产亚洲精品一区二区| 日本系列第一页| 国产精品一二一区| 一区不卡字幕| 99re久久| 亚洲色图综合久久| 日韩一区二区视频在线| 成人视屏免费看| 天堂а√在线中文在线| 欧美大片网站| 色99之美女主播在线视频| 无码人妻精品一区二区50| 91婷婷韩国欧美一区二区| 黄色一级片在线看| 99a精品视频在线观看| 久久国产精品久久久久久| 亚洲一级在线播放| 国产精品色噜噜| 成 人 黄 色 小说网站 s色| 欧美综合视频| 国产精品网红直播| 最新av网站在线观看| 欧美手机在线视频| 国产精品69久久久久孕妇欧美| 日韩高清在线一区| 日韩一区不卡| 日本国产亚洲| 久久精品91久久香蕉加勒比| 国产乱子伦精品无码码专区| 亚洲欧洲三级电影| 日韩精品在线播放视频| 欧美日本一区二区高清播放视频| 91日韩久久| 麻豆福利在线观看| 日韩av最新在线| 99re国产在线| 国产精品私房写真福利视频| 国产欧美一区二| 欧美精品福利| 精品国产乱码久久久久久108| 中文日产幕无线码一区二区| 亚洲精品在线不卡| 中文字幕一区二区三区四区视频 | 欧美日韩国产一二| 日本一区免费网站| 久久久av网站| 国精产品一品二品国精品69xx| 午夜精品一区二区三区电影天堂| 亚洲天堂成人av| 日韩高清国产一区在线| 一区二区三区免费看| 日本在线成人| 青青久久av北条麻妃海外网| а天堂8中文最新版在线官网| 在线电影院国产精品| 国产午夜小视频| 日本一区二区三区在线不卡| 57pao国产成永久免费视频| 国内久久视频| 午夜精品一区二区三区四区| 欧美国产亚洲精品| 青青草一区二区| 国产高清一区二区三区视频| 日韩精品视频在线| 国产又粗又长视频| 欧美日韩在线影院| 免费在线观看黄色小视频| 不卡av在线网| 不卡的在线视频| 国产精品亚洲综合久久| 一本二本三本亚洲码| 午夜a一级毛片亚洲欧洲| 成人黄色免费网站在线观看| 看黄在线观看| 不卡毛片在线看| 国产女人在线观看| 亚洲精品一区二区三区99| 午夜视频网站在线观看| 亚洲国产精品一区二区www | 免费看黄色a级片| 亚洲精品aaaaa| av在线不卡观看| 色诱色偷偷久久综合| 欧美在线免费视频| 四虎影视成人| 日韩一区二区三区在线播放| 色视频在线观看福利| 日韩欧美美女一区二区三区| 中文字幕无线码一区| 日韩欧美国产中文字幕| 福利所第一导航| 亚洲欧洲成人自拍| 最近中文字幕免费视频| 成人av网址在线| 国产乱码一区二区三区四区| 免费精品99久久国产综合精品| 精品久久一二三| 亚洲一级二级| 肉大捧一出免费观看网站在线播放| 日韩欧美视频| 午夜欧美性电影| 国产剧情在线观看一区| 久久精品中文字幕一区二区三区| 97品白浆高清久久久久久| 91亚洲精品久久久| 福利精品在线| 国产精品流白浆视频| 免费成人直播| 欧美亚洲第一页| 亚洲校园激情春色| 68精品久久久久久欧美| av岛国在线| 97国产一区二区精品久久呦| 国产丝袜在线播放| 久久99久久99精品中文字幕| 一色桃子av在线| 欧美久久精品午夜青青大伊人| 精精国产xxxx视频在线| 日韩在线不卡视频| 精产国品自在线www| 美女扒开尿口让男人操亚洲视频网站| 免费av不卡| 欧美大码xxxx| 国产盗摄一区二区| 国外成人性视频| 天堂中文在线播放| 日本午夜精品理论片a级appf发布| 黄色综合网址| 国产成人av网址| 精品美女一区| 51国产成人精品午夜福中文下载| 日韩在线观看一区二区三区| 成人免费在线看片| 校园春色另类视频| 水蜜桃亚洲精品| 99久久.com| 日本黄大片在线观看| 亚洲国产激情| 亚洲精品乱码久久久久久自慰| 免费观看在线综合| 九九热精品国产| 成人激情小说网站| 欧美做受xxxxxⅹ性视频| 中文字幕一区二区三区在线观看 | 国产精品久久久久久久| 欧美少妇一级片| 最新日韩欧美| wwwwxxxx日韩| 国产精品一二三四五| 国产不卡一二三| 国产精品欧美一区喷水| 91在线播放观看| 色婷婷综合在线| 国产精品毛片一区视频播 | 欧美日韩中文在线观看| 精品乱码一区内射人妻无码| 91精品国产色综合久久ai换脸| 国产 日韩 欧美 精品| 亚洲欧洲国产精品| 最新日本在线观看| 国产99久久精品一区二区| 999精品嫩草久久久久久99| 国产一区二区三区无遮挡| 精品99在线| 日韩精品一区在线视频| 蜜桃视频在线观看一区二区| 年下总裁被打光屁股sp| 国产日韩欧美麻豆| 久久久无码一区二区三区| 色婷婷久久久久swag精品 | 日韩福利片在线观看| 欧美四级电影在线观看| 日本wwwxxxx| 久久精品国产成人| 欧美一区国产| 动漫精品视频| 97久久夜色精品国产| 国产精品秘入口18禁麻豆免会员| 国产综合色在线视频区| 久久久久亚洲av无码专区桃色| 一区二区三区欧美亚洲| 中文字幕乱码一区二区| 精品亚洲国产成av人片传媒| 日韩精品卡一| 国产日产久久高清欧美一区| 日韩有码中文字幕在线| 91视频 - 88av| 久久se精品一区精品二区| 黄色正能量网站| 亚洲一卡二卡三卡四卡无卡久久| 亚洲自拍偷拍另类| 亚洲色图17p| 在线观看福利电影| 国产精品露出视频| 中文字幕免费一区二区三区| 高清一区在线观看| 久久欧美一区二区| www日韩精品| 精品毛片乱码1区2区3区| 麻豆传媒在线观看| 国产精品色婷婷视频| 亚洲视频分类| 国产精品第12页| 91偷拍与自偷拍精品| 日韩精品一卡二卡| 亚洲国产精品久久久久| 日本资源在线| 成人在线看片| 影音先锋中文字幕一区| 成人啪啪18免费游戏链接| 亚洲欧美日韩在线| 97超视频在线观看| 日韩视频亚洲视频| 在线日韩三级| 国产日韩视频在线播放| 狠狠色伊人亚洲综合成人| 香蕉成人在线视频| 在线成人av网站| fc2ppv国产精品久久| 亚洲xxxx3d| 欧美成人午夜| 亚洲av无码一区东京热久久| 偷拍与自拍一区| 亚洲三级中文字幕| 欧美一级bbbbb性bbbb喷潮片| 西野翔中文久久精品字幕| 99色精品视频| 欧美国产在线观看| 一级aaaa毛片| 久久国产精品影片| a级日韩大片| 久久精品国产精品亚洲色婷婷| 91麻豆国产福利在线观看| 一级黄色在线视频| 久久好看免费视频| 91嫩草精品| 日韩中文字幕三区| 国产精品美女久久久久久久久久久 | 久久久久国产一区二区| 四虎成人免费影院| 欧美一区日韩一区| av影视在线看| 日本高清不卡三区| 激情综合色丁香一区二区| 久久无码精品丰满人妻| 亚洲精品在线91| 在线播放成人| 亚洲人精品午夜射精日韩| 国产视频一区在线播放| jizz中国少妇| 欧美亚州一区二区三区| 欧美大黑bbbbbbbbb在线| 亚洲一区二区三区黄色| 色狠狠一区二区| 国产黄大片在线观看画质优化| 国产综合精品一区二区三区| 免费观看在线色综合| 精品深夜av无码一区二区老年| 亚洲欧美日韩成人| 国产一区2区在线观看| 久久国产成人精品国产成人亚洲| 国产精品视频免费看| 人妻少妇一区二区三区| 国产精品视频色| 99热这里只有精品8| 国产又黄又粗又猛又爽的|