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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

HBase数据大批量导入方式总结和对比

發布時間:2023/12/20 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HBase数据大批量导入方式总结和对比 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HBase數據導入

1. 背景

  • 在實際生產中,海量數據一般都不是直接存儲在HBase中,這時候就需要一個數據導入到HBase的步驟
  • 上一篇博客講述了可以通過java api的方式或者shell 客戶端方式導入或者創建數據,但這對于實際生產中海量數據導入來說,速度和效率都太慢了,所以我們需要使用其他方式來解決海量輸入導入到HBase的問題
  • 利用HBase底層文件是HFile形式存儲再HDFS中,所以如果能夠直接生成HFile的話,這時候再讓HBase從HFile中讀取數據,就會快很多。
  • 2. 批量數據導入方式

  • shell 腳本命令,使用工具將HFile直接導入到HBase中
  • 編寫mapreduce程序,生成Hfile。然后再使用上shell方式,將HFile文件導入到HBase中
  • 編寫mapreduce程序,直接將文件中數據寫入到Hbase中
  • 將數據從HBase中一個地方(namespace、table)導入到HBase另外一個地方(namespace、table)
  • 3.數據導入步驟

    3.1 shell 腳本命令,使用工具將HFile直接導入到HBase中

    3.1.1 將csv文件轉為HFile

  • 數據準備(數據形式需要是csv格式的數據)

    在windows或者linux節點服務器上準備好,然后通過hdfs dfs -put指令上傳到hdfs文件系統中。這里選擇在linux系統上創建,可以省去在windows上創建后還要再從windows上傳到linux節點服務器的步驟
    文件名這里是:bulkload.csv
  • 1,lenovo,black,3000,intel 2,lenovo,black,43000,intel 3,xiaomi,black,3500,amd 4,lenovo,black,3000,amd 5,huawei,black,3000,amd 6,xiaomi,black,3000,arm 7,xiaomi,black,3000,arm 8,lenovo,black,6000,arm 9,huawei,black,5000,intel 10,huawei,black,3000,intel 11,huawei,black,7000,intel 12,huawei,black,3000,intel 13,hp,black,3000,amd 14,dell,black,3000,amd 15,huawei,black,3000,amd 16,apple,silver,544000,arm 17,mechanic,black,3000,arm 18,mechnic,black,3000,amd 19,hasee,black,12000,amd 20,hasee,black,23000,amd 21,hp,black,3000,intel 22,acer,black,3000,intel 23,acer,black,33000,intel 24,dell,black,30040,intel 25,dell,black,3000,intel 26,huawei,white,3000,amd 27,founder,blue,30060,intel 28,huawei,pink,3000,intel 29,huawei,black,30300,intel 30,huawei,black,3000,arm 31,huawei,black,33000,arm 32,lenovo,black,30200,arm 33,huawei,black,33000,intel 34,lenovo,black,3000,intel 35,huawei,black,30500,intel 36,lenovo,black,3000,intel
  • 在hdfs上創建輸入文件的文件夾
  • hdfs dfs -mkdir -p /csv/input
  • 將linux節點服務器上的csv文件上傳到hdfs的輸入文件文件夾中
  • hdfs dfs -put bulkload.csv /csv/input-- 上傳之后,輸入以下shell命令查看文件 hdfs dfs -ls /csv/input

    文件上傳后,查看上傳結果

    4. 在hdfs集群節點服務器上執行以下shell命令

    • 指定的shell命令
    hbase org.apache.hadoop.hbase.mapreduce.ImportTsv \ -Dimporttsv.separator=, \ -Dimporttsv.columns='HBASE_ROW_KEY,cf1:brand,cf1:color,cf1:price,cf2:cpu_brand' \ -Dimporttsv.bulk.output=/csv/output \ doit:tb_computer_info \ /csv/input# org.apache.hadoop.hbase.mapreduce.ImportTsv這個是進行導入數據的工具類的類型,類似于javca執行一個jar包時,需要指定一個main方法的類的全類名 # Dimporttsv.separator=, 這里是csv文件的分割符號,csv文件按照百度百科標準,一般都是以逗號進行分割,但實際可以使用其他分隔符號 # Dimporttsv.columns='HBASE_ROW_KEY,cf1:brand,cf1:color,cf1:price,cf2:cpu_brand' 這里就是將csv文件中一行數據的每個字段對應在hbase的表中的字段進行指定,使用逗號隔開,例如第一個就是HBASE_ROW_KEY,第二個就是cf1:brand(就是列族cf1下的brand字段) # doit:tb_computer_info這是hbase中的哪個表,如果需要指定namespace,前面加上namespace名再加上冒號。不指定就默認是default這個namespace中的表。注意這個表需在執行shell命令前建立好 # /csv/input這個是輸入數據源路徑 # -Dimporttsv.bulk.output=/csv/output 這個是輸出數據源路徑 # \ 反斜杠是因為shell命令一行太長,使用反斜杠進行分割
    • Dimporttsv的參數說明

    -Dimporttsv.skip.bad.lines=false - 若遇到無效行則失敗
    -Dimporttsv.separator=, - 使用特定分隔符,默認是tab也就是\t
    -Dimporttsv.timestamp=currentTimeAsLong - 使用導入時的時間戳
    -Dimporttsv.mapper.class=my.Mapper - 使用用戶自定義Mapper類替換TsvImporterMapper
    -Dmapreduce.job.name=jobName - 對導入使用特定mapreduce作業名
    -Dcreate.table=no - 避免創建表,注:如設為為no,目標表必須存在于HBase中
    -Dno.strict=true - 忽略HBase表列族檢查。默認為false
    -Dimporttsv.bulk.output=/user/yarn/output 作業的輸出目錄

    • 輸入指令后,開始執行,按下enter鍵執行
    • 執行過程日志,可以看出其實就是執行了一個mapreduce的程序



    • 查看輸出的文件
      注意這里按照列族數量,生成了2個文件夾,和hbase存儲在hdfs中的文件規則是一致的。

      注意點擊進去cf1文件夾查看,可以看到有一個文件,這就是生成的hfile文件

    3.1.2 將HFile導入到HBase中

    hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /csv/output doit:tb_computer_info
    • 輸入指令后,可以看到如下日志,可以看出這時候就是HBase內部的程序,而不是mapreduce
    • 查看hbase中對應表格中數據

    3.2 使用mapreduce方式導入hbase

    3.2.1 環境準備

  • pom文件
  • <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties> <dependencies> <dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.6</version> </dependency><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-auth</artifactId><version>3.2.1</version> </dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>compile</scope> </dependency><dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-client</artifactId><version>2.2.5</version> </dependency><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId><version>3.2.1</version> </dependency><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-common</artifactId><version>3.2.1</version> </dependency><dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-server</artifactId><version>2.2.5</version> </dependency><!-- 使用mr程序操作hbase 數據的導入 --> <dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-mapreduce</artifactId><version>2.2.5</version> </dependency><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.5</version> </dependency><!-- phoenix 鳳凰 用來整合Hbase的工具 --> <dependency><groupId>org.apache.phoenix</groupId><artifactId>phoenix-core</artifactId><version>5.0.0-HBase-2.0</version> </dependency></dependencies><build> <plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.5.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><version>2.6</version><configuration><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs></configuration><executions><execution><id>make-assembly</id><!-- bind to the packaging phase --><phase>package</phase><goals><goal>single</goal></goals></execution></executions></plugin></plugins> </build>
  • 集群環境準備
    • hdfs集群 hdfs
    • zookeeper集群 zk
    • hbase集群 hbase
      注意,需要都啟動,啟動順序,先啟動hdfs,然后是zookeeper,然后是hbase
  • windows10,安裝好 idea 2020版本和jdk 1.8 JDK8
  • maven環境 maven
  • 數據準備, 這里手動制造一些json數據,一行一行存放。
  • {"movie":"2294","rate":"4","timeStamp":"978824291","uid":"1"} {"movie":"3186","rate":"4","timeStamp":"978300019","uid":"1"} {"movie":"1566","rate":"a","timeStamp":"978824330","uid":"1"} {"movie":"588","rate":"4","timeStamp":"978824268","uid":"1"} {"movie":"1907","rate":"4","timeStamp":"978824330","uid":"1"} {"movie":"783","rate":"4","timeStamp":"978824291","uid":"1"} {"movie":"1836","rate":"5","timeStamp":"978300172","uid":"1"} {"movie":"1022","rate":"5","timeStamp":"978300055","uid":"1"} {"movie":"2762","rate":"4","timeStamp":"978302091","uid":"1"} {"movie":"150","rate":"5","timeStamp":"978301777","uid":"1"}

    3.2.2 數據導入思路

  • 從外部導入數據到HBase中,由于HBase本身不支持多維度的數據查詢,所以需要進行HBase表數據字段和結構設計
  • 外部數據可能有錯誤或者缺失信息,需要考慮如何處理(數據預處理或者在mapreduce中處理都可以)
  • rowkey設計
    • 這里假定業務場景是根據movie id進行數據查詢,所以rowkey的設計需要把movie id放進去,
    • 同時movie id長度不一,這時候采取補位處理,讓所有movie id的長度一致。考慮到不損失其原本含義,采用前面補0,否則后面補0會損失id的原本含義。
    • 看數據,如果采用movie id作為rowkey,則數據會發生覆蓋,這時候如果把rate、時間戳、uid作為后綴加進去。uid和rate會有重復,但時間戳沒有,所以選擇時間戳作為后綴來確保rowkey的唯一性。這樣一條數據對應hbase中一條數據,不會發生數據覆蓋問題。
  • 數據分區考慮,注意這里的數據(手動造了100萬條左右),數據量比較大,為了合理存放這些數據,也就是相對均勻劃分到不同region server上,同時確保相關數據盡可能在一起。可以考慮在設計好的rowkey基礎上,看是否做分區處理。如果需要,可以執行SPLITS設置。本文這里暫不演示
  • 3.2.3 代碼實現

  • 因為數據是json格式,所以需要有一個java bean存放數據。這個java bean會參與mapreduce過程,所以需要遵守writable協議
  • map過程就是把一行一行文本轉換為一個一個的java bean,注意這里的rowkey需要
  • reduce就是把map階段產生的key、value進行輸出,寫入到hdfs的文件中或者直接寫入hbase中
    • mapper
    class HBaseDataImportMapper extends Mapper<LongWritable, Text, Text, MovieBean> {// 數據解析使用GSONGson gson = new Gson();Text rowkeyText = new Text();@Overrideprotected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {try{// 讀取一行一行的數據String line = value.toString();// 使用GSON進行解析MovieBean movieBean = gson.fromJson(line, MovieBean.class);// 拼接處理rowkeyString movie = movieBean.getMovie();String timeStamp = movieBean.getTimeStamp();String rowkey = StringUtils.leftPad(movie, 5, '0') + "_" + timeStamp;// 這里復用Text對象rowkeyText.set(rowkey);// 輸出context.write(rowkeyText, movieBean);}catch (Exception e) {e.printStackTrace();}} }
    • reducer
    class HBaseDataImportReducer extends TableReducer<Text, MovieBean, ImmutableBytesWritable> {@Overrideprotected void reduce(Text key, Iterable<MovieBean> values, Context context) throws IOException, InterruptedException {try {String rowkey = key.toString();for (MovieBean value : values) {// 獲取java bean中的屬性String movie = value.getMovie();double rate = value.getRate();String timeStamp = value.getTimeStamp();String uid = value.getUid();// 構建一個HBase數據操作的Put對象// 傳入rowkey,這是一行的rowkeyPut put = new Put(Bytes.toBytes(rowkey));// 設置列族、字段等信息put.addColumn(Bytes.toBytes("cf1"), Bytes.toBytes("movie"), Bytes.toBytes(movie));put.addColumn(Bytes.toBytes("cf1"), Bytes.toBytes("rate"), Bytes.toBytes(rate));put.addColumn(Bytes.toBytes("cf1"), Bytes.toBytes("timeStamp"), Bytes.toBytes(timeStamp));put.addColumn(Bytes.toBytes("cf1"), Bytes.toBytes("uid"), Bytes.toBytes(uid));// 輸出context.write(null, put);}}catch (Exception e) {e.printStackTrace();}} }
    • driver
    public static void main(String[] args) {// 獲取HBaseConfiguration對象,這個本身就是繼承自hadoop的Configuration 類Configuration conf = HBaseConfiguration.create();// 設置hbase的zookeeper入口(hbase的元數據服務器節點位置等信息是保存在zookeeper上的)conf.set("hbase.zookeeper.quorum", "linux100:2181,linux101:2181,linux102:2181");try {// 創建一個job對象,代表一個完整的mapreduce程序Job job = Job.getInstance(conf);// 設置mapper類job.setMapperClass(HBaseDataImportMapper.class);// 設置map階段輸出的key value類job.setMapOutputKeyClass(Text.class);job.setMapOutputValueClass(MovieBean.class);// 設置輸入數據源FileInputFormat.setInputPaths(job, new Path("E:\\movie\\input"));// 這里設置reducer的類、需要導出的hbase表名,"doit:movie"中doit是namespace,movie是表名TableMapReduceUtil.initTableReducerJob("doit:movie", HBaseDataImportReducer.class, job);boolean b = job.waitForCompletion(true);if(b) {System.out.println("成功了");} else {System.out.println("失敗了");}} catch (Exception e) {e.printStackTrace();}}

    • java bean
    public class MovieBean implements Writable {// {"movie":"2294","rate":"4","timeStamp":"978824291","uid":"1"}private String movie;private double rate;private String timeStamp;private String uid;@Overridepublic String toString() {return "MovieBean{" +"movie='" + movie + '\'' +", rate=" + rate +", timeStamp='" + timeStamp + '\'' +", uid='" + uid + '\'' +'}';}public String getMovie() {return movie;}public void setMovie(String movie) {this.movie = movie;}public double getRate() {return rate;}public void setRate(double rate) {this.rate = rate;}public String getTimeStamp() {return timeStamp;}public void setTimeStamp(String timeStamp) {this.timeStamp = timeStamp;}public String getUid() {return uid;}public void setUid(String uid) {this.uid = uid;}/*** private String movie;* private double rate;* private String timeStamp;* private String uid;** 注意這里的讀寫字段的順序需要一致* */@Overridepublic void write(DataOutput out) throws IOException {out.writeUTF(movie);out.writeDouble(rate);out.writeUTF(timeStamp);out.writeUTF(uid);}@Overridepublic void readFields(DataInput in) throws IOException {movie = in.readUTF();rate = in.readDouble();timeStamp = in.readUTF();uid = in.readUTF();} }

    導入后,去hbase查看,進入hbase shell ,使用count指令查看。百萬條數據

    3.3從hbase中將數據導入另一個hbase表格中

    3.1環境準備

  • 準備好hbase中對應的表user,列族是f,字段是name和gender
  • 準備好一張空表user2,列族是f
  • 3.2 java代碼

  • driver類
  • public class HBaseTransferFromHBase {public static void main(String[] args) {// 獲取整合的初始化對象Configuration conf = HBaseConfiguration.create();// 連接zookeeper集群的的位置,給多個集群節點地址,這樣就算一個無法連接,還可以連接其他zookeeper集群的節點conf.set("hbase.zookeeper.quorum", "linux100:2181,linux101:2181,linux102:2181");// 獲取job對象Job job = null;try {job = Job.getInstance(conf);// 創建掃描對象用來掃描源hbase中的所有的數據Scan scan = new Scan();// 接收的掃描的數據的行數scan.setCaching(200);scan.setCacheBlocks(false);job.setJarByClass(HBaseTransferFromHBase.class);// 初始化 源表,這里沒有寫namespace,默認就是defaul表格中TableMapReduceUtil.initTableMapperJob("user", scan, HBaseTransferFromHBaseMapper.class, Text.class, Text.class, job);// 插入數據的表要存在TableMapReduceUtil.initTableReducerJob("user2", HBaseTransferFromHBaseReducer.class, job);boolean b = job.waitForCompletion(true);if (b){System.out.println("ok");} else {System.out.println("not ok");}} catch (Exception e) {e.printStackTrace();}} }
  • mapper類
  • class HBaseTransferFromHBaseMapper extends TableMapper<Text, Text> {// 參數一是 rowkey 參數二是結果 參數三是輸出的key 參數四是 輸出的value@Overrideprotected void map(ImmutableBytesWritable key, Result value, Context context) throws IOException, InterruptedException {// 獲取字符串的 rowkeyString k = new Text(new String(key.copyBytes())).toString();// 獲取指定的屬性的值String name = Bytes.toString(value.getValue("f".getBytes(), "name".getBytes()));String gender = Bytes.toString(value.getValue("f".getBytes(), "gender".getBytes()));System.out.println(k + " " + name);// 以行鍵為key 以多個屬性組裝的結果為value傳遞 到reduce中context.write(new Text(k), new Text(name + ":" + gender));} }
  • reducer類
  • class HBaseTransferFromHBaseReducer extends TableReducer<Text, Text, ImmutableBytesWritable> {@Overrideprotected void reduce(Text key, Iterable<Text> iters,Reducer<Text, Text, ImmutableBytesWritable, Mutation>.Context context)throws IOException, InterruptedException {//創建put對象Put put = new Put(key.getBytes());// 獲取接收的map的value值Text next = iters.iterator().next();// 將value轉換成字符串String v = next.toString();//處理字符串獲取 各個屬性的值String[] split = v.split(":");String name = split[0];String gender = split[1];// 將各個屬性的值添加到對應的列中put.addColumn("f".getBytes(), "name".getBytes(), Bytes.toBytes(name));put.addColumn("f".getBytes(), "gender".getBytes(), Bytes.toBytes(gender));// 將put對象寫出去context.write(null, put);} }
  • 運行結束后,如下圖所示,hbase的shell客戶端中執行scan 掃描如下,確實完整導入了。如果需要更多限制,可以限制指定范圍內的row才導入,這里就不做演示。可以自行嘗試
  • 總結

    以上是生活随笔為你收集整理的HBase数据大批量导入方式总结和对比的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    有码中文字幕在线观看 | 久久久高清 | 国产精品v a免费视频 | 又黄又爽的免费高潮视频 | 亚洲一级黄色片 | av电影中文 | 亚洲精品白浆高清久久久久久 | 成人一区电影 | 欧美一区二区三区免费观看 | 黄色一级大片在线免费看产 | 99成人精品 | 91九色综合 | 久久99电影 | 日韩免| 91久久久久久久一区二区 | 天天色天天干天天色 | 日韩欧美综合视频 | 麻豆91在线观看 | 国产精品乱码一区二三区 | 日韩伦理一区二区三区av在线 | 美女视频黄在线 | 日韩在线观看视频在线 | 久草在线免费新视频 | 五月天开心 | 成人在线播放av | 国产精品黑丝在线观看 | 成人动漫一区二区三区 | 麻豆一区在线观看 | 欧洲激情在线 | 国产精品久久三 | 在线观看免费av网 | 亚洲视频第一页 | 日韩精品欧美专区 | 国产在线a视频 | 黄色性av | 国产视频二区三区 | 欧美9999 | 人人澡超碰碰97碰碰碰软件 | 最近中文字幕国语免费高清6 | 黄网站色视频 | 久久免费视屏 | 伊人影院得得 | 国产一级性生活视频 | 成人黄色视 | 久草在线手机视频 | 久久精品久久国产 | 欧美在线视频精品 | 免费高清影视 | 精品一区二区免费在线观看 | 日日夜日日干 | 成人黄色电影在线观看 | 久久99国产精品 | 国内精品视频在线播放 | 激情偷乱人伦小说视频在线观看 | 国产精品二区三区 | 亚洲精品www. | 97视频人人澡人人爽 | 国产资源在线视频 | 精品国产成人av | 天天操天天操天天 | 美女网站视频一区 | 国产精品久久久久久久久久久不卡 | 亚洲欧美在线观看视频 | 免费在线黄色av | 久久久午夜影院 | 日本久草电影 | 久久久久久久综合色一本 | 午夜电影一区 | 国产亚洲欧美在线视频 | 中文字幕色在线视频 | 免费在线国产黄色 | 手机在线中文字幕 | 国产三级精品三级在线观看 | 亚洲午夜精品久久久 | 黄色大片日本 | av黄色亚洲 | 91入口在线观看 | 国产不卡网站 | 欧美一级特黄高清视频 | 国产系列精品av | 中文在线a天堂 | 久久精品视频2 | 韩国av一区二区三区在线观看 | 国产在线不卡一区 | 日韩性久久 | 嫩草伊人久久精品少妇av | 在线中文字幕观看 | 久久99亚洲精品久久久久 | 久久精品aaa | 黄色小说18| 中文字幕在线久一本久 | 国产永久免费高清在线观看视频 | 色五婷婷| 日本性高潮视频 | 五月婷婷中文网 | av资源中文字幕 | 国产福利精品一区二区 | 国产精品久久久久久久av大片 | 中文在线中文a | 国产成人久久久久 | 天天综合网天天综合色 | 三上悠亚一区二区在线观看 | 国产成在线观看免费视频 | 国产喷水在线 | 又黄又爽又刺激的视频 | 六月色婷婷 | 欧美精品久久久久久久久久白贞 | 亚洲欧洲美洲av | 丁香六月婷 | 丁香婷婷成人 | 欧美一区影院 | 久久久亚洲精华液 | 中文字幕亚洲欧美日韩2019 | 日韩精品视频在线观看免费 | 中文字幕在线视频网站 | 亚洲激情中文 | 一区二区 久久 | 亚洲精品午夜aaa久久久 | 亚洲黄色免费电影 | 亚洲精品久久激情国产片 | 波多野结依在线观看 | 国产精品福利av | 国产精品video | 天天干天天操天天拍 | 久久免费中文视频 | 欧美激情片在线观看 | 国产福利av | 中文字幕日本电影 | 久久激情精品 | 人人插人人爱 | 在线观看不卡视频 | 欧美日韩性视频 | h文在线观看免费 | 久久综合婷婷国产二区高清 | 日韩av电影中文字幕在线观看 | 91九色蝌蚪视频网站 | 亚洲综合精品视频 | 国产女v资源在线观看 | 激情久久伊人 | 午夜精品久久久久久久99水蜜桃 | 欧美激情精品久久久久久免费印度 | 国产色拍拍拍拍在线精品 | av888av.com| 看黄色.com | 激情www| 最新av在线播放 | 久久久激情视频 | 婷婷视频在线 | 久久午夜电影 | 天天操天天干天天插 | 一二三精品视频 | 99久久精 | 成人91视频| 免费在线成人av | 国产精品久久毛片 | 成人黄色小说网 | 国产精品美女免费视频 | 国产老熟 | 久久久精品国产一区二区电影四季 | 久久精品官网 | 在线亚洲天堂网 | 在线精品国产 | 国内精品视频免费 | 在线观看黄色的网站 | se视频网址 | 久久久久久久久久久免费 | 欧美性大战久久久久 | 韩日av一区二区 | 蜜臀精品久久久久久蜜臀 | 午夜视频免费 | 97电影手机版 | 久久九九影视网 | 天天综合网~永久入口 | 中文字幕免费在线 | 一区二区三区日韩在线观看 | 1024手机看片国产 | www.国产在线观看 | 在线观看 亚洲 | 精品国产伦一区二区三区 | 国产成人精品电影久久久 | 最新午夜电影 | 婷五月激情 | 精品一区二区影视 | 国产精品久久久久久超碰 | 久久都是精品 | av电影中文字幕 | 国产精品中文 | 国产成人性色生活片 | 91亚洲精品在线 | 91在线视频免费播放 | 欧美网址在线观看 | 99在线精品免费视频九九视 | 2019中文在线观看 | 国产一区二区免费在线观看 | 天海翼一区二区三区免费 | 午夜久久美女 | 四季av综合网站 | 精品九九九九 | 91免费看片黄| 99色国产 | 日韩精品一区二区三区第95 | a级国产毛片 | 国产91aaa | 精品国产一区二区在线 | 最新色站 | 一区二区三区精品在线 | 久久久免费观看视频 | 丁香婷婷综合激情五月色 | 亚洲精品一区二区三区新线路 | 精品久久免费看 | 99久久精品久久久久久动态片 | 中文字幕免费不卡视频 | 久久久www成人免费毛片麻豆 | 精品国产成人av在线免 | 天天舔天天射天天操 | 久久激情视频 久久 | 日日碰狠狠躁久久躁综合网 | avav片 | 色综合久久综合网 | 97在线播放视频 | 久草在在线视频 | 精品国产乱码久久久久久浪潮 | 国产美女在线免费观看 | 一区二区激情视频 | 国产短视频在线播放 | 亚洲精品视频播放 | 摸bbb搡bbb搡bbbb | 成人免费视频免费观看 | 色婷婷久久久综合中文字幕 | 日韩久久片 | 丰满少妇高潮在线观看 | 91xav| 国产色就色| 久久看视频 | 狠狠狠色丁香婷婷综合久久五月 | 日韩av在线看 | 三日本三级少妇三级99 | 五月婷婷色播 | 日韩欧美一区二区在线观看 | 狠狠色狠狠色合久久伊人 | 亚州精品视频 | 久久成人精品视频 | 深夜免费福利网站 | av免费观看高清 | 99精品在线视频观看 | 久久久91精品国产一区二区精品 | 2019中文| 国产精品伦一区二区三区视频 | 日本公乱妇视频 | 久久热首页 | 精品久久毛片 | 深夜免费小视频 | 国产成人久久av免费高清密臂 | 成人91免费视频 | 6080yy精品一区二区三区 | 69久久久久久久 | a爱爱视频 | 亚洲美女精品区人人人人 | 精品在线视频观看 | 亚洲高清资源 | 中文字幕日韩有码 | 有没有在线观看av | 亚洲精品美女视频 | 日韩av不卡在线播放 | 天堂av观看 | 99理论片 | 免费能看的黄色片 | 91免费版在线 | 中文字幕在线一区二区三区 | 欧美精品久久久久性色 | 精品主播网红福利资源观看 | 一区二区不卡高清 | 国产日韩欧美在线观看视频 | 久久国产影院 | 日韩有码在线播放 | 91精品一区二区三区久久久久久 | 99综合视频| 中文字幕在线免费97 | 韩国av一区二区三区在线观看 | 亚洲欧美激情精品一区二区 | 日韩免费成人 | 毛片1000部免费看 | 99久久日韩精品视频免费在线观看 | 精品一区电影国产 | 亚洲电影av在线 | 亚洲国产手机在线 | 国产精品久久久99 | 欧美日韩中文字幕在线视频 | 在线看国产日韩 | 色综合天天综合 | 色午夜影院| 日韩在线观看视频一区二区三区 | 亚洲精品大全 | 午夜精品一区二区三区在线观看 | 亚洲成人一二三 | 日韩精品中文字幕久久臀 | 久久精品日产第一区二区三区乱码 | 国产日韩欧美视频 | 在线观看中文字幕dvd播放 | 欧美午夜精品久久久久久浪潮 | 亚洲毛片久久 | 欧美色综合 | 欧美性猛片 | 色久综合 | 婷婷丁香激情五月 | www色,com| 四虎成人精品永久免费av | 久操中文字幕在线观看 | 激情六月婷婷久久 | 高潮久久久久久久久 | 999成人国产 | 一区二区成人国产精品 | 色在线免费观看 | 亚洲成人免费观看 | 午夜黄色一级片 | 国产精品久久久久永久免费观看 | 午夜在线资源 | 青青草在久久免费久久免费 | 999久久国产精品免费观看网站 | 狠狠色伊人亚洲综合网站色 | 又黄又爽又湿又无遮挡的在线视频 | 中文字幕国产精品一区二区 | 99亚洲精品视频 | 91高清视频 | 日韩激情三级 | 国产伦理久久精品久久久久_ | 精品视频国产 | 亚洲黄色免费电影 | 婷婷资源站 | 日韩中文字幕免费在线播放 | 999久久国精品免费观看网站 | 亚洲婷婷免费 | 国产一线二线三线性视频 | 人人爽人人爽人人片av | 亚洲视频一 | 综合精品在线 | 成人av直播 | 亚洲国产日本 | 久久视精品 | wwwww.国产 | 最近最新中文字幕视频 | 97超碰.com | 免费电影一区二区三区 | 成人在线免费看视频 | 久久69av | 一级免费黄视频 | 开心丁香婷婷深爱五月 | 亚洲精品国产精品久久99热 | 开心激情网五月天 | 成 人 黄 色 视频免费播放 | 天天综合天天做天天综合 | 99精品热视频只有精品10 | 久久亚洲综合国产精品99麻豆的功能介绍 | 国产色a在线观看 | 伊人久操 | 麻豆一二 | 久久久精品影视 | 亚洲jizzjizz日本少妇 | 91视频88av| 久久成人午夜 | 欧美性色网站 | 国产免费区 | 欧美国产亚洲精品久久久8v | 麻花天美星空视频 | 国产在线播放一区 | 国产精品成久久久久三级 | 免费一级日韩欧美性大片 | 亚洲专区 国产精品 | 欧美视屏一区二区 | 久久久久久久国产精品影院 | 亚洲精品视频二区 | 天天操天天射天天操 | 99视频精品视频高清免费 | 国产在线毛片 | 久久在现视频 | 一本—道久久a久久精品蜜桃 | 成人动漫一区二区三区 | 成人网色 | 亚洲 欧美 国产 va在线影院 | 国产精品久久久久久久久久 | 色婷婷伊人 | av免费在线网站 | 国产一区二区在线精品 | 人人爽人人爽人人片 | 精品久久久久久久 | 激情在线免费视频 | 国产日韩欧美在线一区 | av成人在线电影 | 欧美污污网站 | 中文字幕在线播放视频 | 顶级bbw搡bbbb搡bbbb | 99色网站 | 9ⅰ精品久久久久久久久中文字幕 | 蜜臀久久99静品久久久久久 | 国产美女在线观看 | 99色在线视频 | 国产精品成人aaaaa网站 | 国产 一区二区三区 在线 | 97香蕉超级碰碰久久免费软件 | 五月开心婷婷 | 精品国产91亚洲一区二区三区www | 午夜久久网站 | 91网在线看 | 国产爽视频 | 免费亚洲精品视频 | 毛片一区二区 | 久久人人爽人人爽人人 | 日b黄色片| 日韩一区二区免费播放 | av三区在线| 亚洲乱码在线 | 国产精品成人一区 | 看av免费网站 | 91少妇精拍在线播放 | 欧美视频一区二 | 日韩在线视频一区 | 欧美激情视频在线免费观看 | 一区二区三区在线不卡 | 免费看精品久久片 | www.福利| 九九爱免费视频 | 日韩网站中文字幕 | 在线观看一级视频 | 91久久久久久久 | 国产午夜三级一区二区三 | 911av视频 | 又色又爽又黄 | 久久一区二区三区国产精品 | 国内精品久久久久影院一蜜桃 | 黄色大片日本 | 偷拍精偷拍精品欧洲亚洲网站 | 成人天堂网 | 精品在线不卡 | 成人av一区二区在线观看 | 91在线精品秘密一区二区 | 91在线播放视频 | 国产小视频在线观看免费 | 国产精品一区免费观看 | 99久久综合狠狠综合久久 | 国产精品一区久久久久 | 精品久久久久久久久久岛国gif | 国产高清在线永久 | 高清不卡一区二区在线 | 99热精品免费观看 | 亚洲精品一区二区在线观看 | 成人黄色av免费在线观看 | 91精品国产92久久久久 | 色综合在| 国产福利91精品 | 日韩成年视频 | 色婷丁香 | 美女免费视频网站 | 久久久久久亚洲精品 | 国产精品18久久久久久久久久久久 | 国产一区精品在线观看 | 免费日韩一区二区三区 | 在线播放日韩 | 婷婷丁香久久五月婷婷 | 亚洲精品国产成人av在线 | 久久精品永久免费 | 日本韩国精品一区二区在线观看 | 久久综合色婷婷 | 亚洲理论在线观看 | 中文字幕国产一区二区 | 欧美污污网站 | 丁香婷婷色 | 国产成人精品久久久久 | 亚洲理论电影 | 日韩中文在线电影 | 99电影456麻豆| 欧美日在线观看 | 免费一级黄色 | 精品产品国产在线不卡 | 久久成人资源 | 毛片播放网站 | 成人综合婷婷国产精品久久免费 | 欧美九九九 | 精品国产99 | 国产精品久久久久久久久久新婚 | 国产成人区 | 午夜视频欧美 | 久久男人免费视频 | 欧美日韩激情视频8区 | 五月婷婷丁香色 | 天天草天天摸 | 免费高清看电视网站 | 久久你懂的| 一区免费在线 | 久久99国产精品 | 欧美一区二区三区不卡 | 国产亚洲久一区二区 | 毛片99 | 在线观看成人国产 | 久久精品免费看 | 国产高清精品在线 | 天天搞夜夜骑 | 国产在线视频一区二区 | 欧美日韩高清一区二区三区 | 天天舔天天射天天操 | 特级西西人体444是什么意思 | 欧美一区二区三区免费看 | 玖玖色在线观看 | 国产黄色免费 | 国产亚洲永久域名 | 日韩福利在线观看 | 激情网综合| 24小时日本在线www免费的 | 婷婷久久综合九色综合 | 日韩啪啪小视频 | 国产精品久久久久久久久搜平片 | 日韩电影中文字幕在线 | 天天综合中文 | 欧美激情一区不卡 | 久久免费美女视频 | 日本中出在线观看 | 成全免费观看视频 | 国产免费观看av | 久久毛片高清国产 | 日韩av一区二区在线播放 | 丁香六月婷婷激情 | 久久久久网址 | 四虎成人精品永久免费av九九 | 免费观看视频的网站 | 97视频入口免费观看 | 国内精品久久久精品电影院 | 国产一区二区手机在线观看 | 深夜免费福利网站 | 国产精品美女网站 | 日韩av综合网站 | 国产99久久久国产精品免费二区 | 色姑娘综合网 | 波多野结衣资源 | 人人澡人人添人人爽一区二区 | 久久久久中文 | 亚洲一区久久久 | 欧美伊人网 | 久久狠狠婷婷 | 国产很黄很色的视频 | 国产99自拍 | 91视频免费播放 | 日韩网| 国产日产欧美在线观看 | 国产精品久久久久久久久费观看 | 亚洲狠狠干 | 91pony九色丨交换 | 国产精品第一 | 国产黄色免费 | 久久黄网站| 亚洲成成品网站 | 国产亚洲字幕 | 黄色app网站在线观看 | 久久精品99国产国产精 | 欧美激情综合五月色丁香 | 97国产精品久久 | 日韩精品免费一区二区在线观看 | 精品国产乱码久久久久久久 | 美女网站视频免费都是黄 | 亚洲精品xxxx | 欧美日韩色婷婷 | 日韩网站免费观看 | 国产精品免费观看网站 | 在线观看成人小视频 | 三级动态视频在线观看 | 77国产精品 | 在线视频亚洲 | 亚洲精品视频在线观看免费视频 | 欧美久久综合 | 欧洲精品久久久久毛片完整版 | 麻豆一区二区 | 天天操伊人 | 91亚洲欧美 | 久久久国产精华液 | 精品成人久久 | 日韩一级电影在线观看 | 丁香花在线视频观看免费 | 欧美成人久久 | 深爱婷婷激情 | 在线成人免费av | jizz欧美性9| 精品国产欧美一区二区 | 精品国产视频在线 | 久久精品视频网 | 亚洲va天堂va欧美ⅴa在线 | 欧美午夜理伦三级在线观看 | 亚洲伦理一区二区 | 丁香六月在线观看 | 国产精品激情 | 91大神免费视频 | 少妇bbbb揉bbbb日本 | 欧美日韩国产一区二 | 久久99视频精品 | 中文字幕av一区二区三区四区 | 国内成人精品2018免费看 | 在线a人v观看视频 | 亚洲精品久久久久久国 | 午夜av片| 91丨九色丨国产在线 | 国产一区二区在线观看视频 | 日韩精品国产一区 | 久久伊人操| 精品91在线| 伊人久久av| 97成人精品视频在线观看 | 高清色免费 | 99久久精品免费看国产一区二区三区 | 日日日网 | 中文字幕在线看人 | 国产一区自拍视频 | 欧美精品久久天天躁 | 一区二区理论片 | 99视频播放 | 五月天婷婷综合 | 青青射 | 久久一级电影 | 日韩在线字幕 | 天天干夜夜干 | 日韩欧美一区二区三区视频 | 四虎影视久久久 | 欧美日韩国产一区二 | 成人h视频 | 久久午夜国产精品 | 国产精品99久久久久久久久久久久 | 免费试看一区 | 91在线国产观看 | 日韩久久电影 | 99色免费视频 | 在线视频在线观看 | 在线观看国产永久免费视频 | 亚洲欧美日韩国产一区二区三区 | 在线观看视频亚洲 | 深夜免费福利视频 | 成年人免费在线播放 | 亚洲第一中文字幕 | 不卡的av在线播放 | 日韩欧美在线视频一区二区三区 | 日韩免费大片 | 2019中文字幕网站 | 正在播放一区 | 日韩亚洲在线视频 | 99久久精品无码一区二区毛片 | 91亚洲国产成人 | 91精品一区二区三区久久久久久 | 日韩激情av在线 | 精品福利av| 国产黄色成人 | 97国产视频| 97色在线视频 | 亚洲高清91 | 久久一区二区免费视频 | 天天碰天天操 | 夜夜夜草 | 色av男人的天堂免费在线 | 成人黄大片| 亚洲成人av片在线观看 | 久久精品视频在线看 | 999在线视频 | 91热视频在线观看 | 国产区免费 | 色妞久久福利网 | 精品自拍网 | 日韩av电影网站在线观看 | 国产人免费人成免费视频 | 日韩一区二区三区不卡 | 欧美福利视频 | 亚洲欧美精品一区 | 中文字幕在线播放日韩 | 久久国产香蕉视频 | 日本中文字幕视频 | 日韩精品中字 | 婷婷激情影院 | 亚洲午夜精品福利 | 免费在线电影网址大全 | 开心婷婷色 | 免费av大片 | 手机成人在线电影 | 成人久久综合 | 911av视频 | 久草视频中文 | 亚洲国产免费 | 一区二区三区高清在线 | 日韩一区在线免费观看 | 中文字幕在线观看视频一区 | 麻豆视频免费在线观看 | 夜夜操夜夜干 | 天天插综合 | 99综合影院在线 | 国产精品大片免费观看 | 欧美精品免费一区二区 | 国产精品久久久免费看 | 天干啦夜天干天干在线线 | 国产手机在线精品 | 五月天久久久 | 天天超碰 | 日韩激情中文字幕 | 婷婷去俺也去六月色 | 99成人免费视频 | 最新久久久 | 91视频这里只有精品 | 97av影院| 操操操com | 久久伊人综合 | 黄色一级性片 | 国产美女免费看 | 国产免费观看av | 久久黄色免费 | 91中文字幕在线 | 91视频久久久久 | 高清av中文在线字幕观看1 | 色av色av色av | aav在线 | 91成人免费电影 | 免费高清在线视频一区· | 在线一级片 | 日韩系列在线 | 国产色视频网站2 | 久久最新| 欧美精品久久久久a | 999ZYZ玖玖资源站永久 | 视频一区二区在线观看 | 国产美女免费视频 | 97碰碰视频 | 99久久99久久综合 | 国产精品永久在线观看 | 久久久久久久久久久久久久av | av免费在线网 | 日韩欧美高清一区二区 | www久草 | 九九热在线精品 | 亚洲三级在线免费观看 | 在线电影91| 天天干天天摸 | 美女精品在线 | 久久大片网站 | 一级理论片在线观看 | www.久久视频 | 国产成在线观看免费视频 | 天天插日日射 | 91av电影网 | 色七七亚洲影院 | 欧美综合久久 | 日产乱码一二三区别在线 | 亚洲欧美日韩精品久久奇米一区 | 久久不卡电影 | 狠狠精品 | 久久五月婷婷丁香社区 | 91最新在线视频 | 亚洲日本色 | 欧美亚洲国产精品久久高清浪潮 | 人人草在线观看 | 亚洲 中文字幕av | 中文字幕在线观看亚洲 | 91精品秘密在线观看 | 国产免费二区 | 91女子私密保健养生少妇 | 成+人+色综合 | 综合色久 | 国产精品在线看 | 96国产在线| 成人av免费在线观看 | 伊人视频 | 福利视频一二区 | 国产亲近乱来精品 | 欧美激情操 | 激情综合网五月 | a久久久久久 | 成x99人av在线www | 中文字幕乱码视频 | 久久狠狠亚洲综合 | 高清在线一区 | 超碰在线公开 | 久草在线观 | 久久亚洲综合国产精品99麻豆的功能介绍 | 天天干天天干天天操 | 国产免费三级在线观看 | 国产日韩中文字幕 | 亚洲在线激情 | 九九影视理伦片 | 久久手机精品视频 | 伊人成人激情 | 国产精品毛片久久久久久久久久99999999 | 色综合久久66| 911久久香蕉国产线看观看 | 丁香六月五月婷婷 | 成人h视频在线播放 | 日韩理论影院 | 亚洲天堂色婷婷 | 国产黄色片久久 | 婷婷丁香视频 | 狠狠地日 | 日日操网站 | 亚洲视频高清 | 天天干天天干天天干天天干天天干天天干 | 最近日本中文字幕 | 99自拍视频在线观看 | 欧美污污网站 | 亚洲毛片在线观看. | 国产精品入口麻豆www | 免费裸体视频网 | 69视频在线| 国产一区二区播放 | 天堂中文在线播放 | 久久精品在线 | 91视频 - 88av| 日韩av免费一区 | 叶爱av在线 | 亚洲专区欧美专区 | 视频国产在线观看18 | 成人在线免费小视频 | 日韩欧美一区二区在线观看 | 精品久久一区二区 | 毛片黄色一级 | 国产亚洲成人网 | 日本精品中文字幕 | 国产视频欧美视频 | 91精品色 | 亚洲人xxx | 免费av网站在线看 | 亚洲精品国产精品国自产观看 | 国产精品99蜜臀久久不卡二区 | 在线观看aa | 国产在线观看地址 | 天天操天天爽天天干 | 久久久私人影院 | 五月婷婷丁香 | www.777奇米| av成人免费网站 | 丁香婷婷久久久综合精品国产 | 免费高清在线视频一区· | 国产在线精品区 | 91在线日本| 91视频午夜 | 国产免费高清视频 | 天天曰 | 韩国一区二区三区在线观看 | 国产精品男女视频 | 国产精品美女久久久网av | 色久av| 黄污视频网站 | 久艹在线播放 | 亚洲精品理论片 | 中文亚洲欧美日韩 | 天天综合色天天综合 | 五月婷婷视频在线 | 天堂网中文在线 | 久99久在线视频 | 午夜私人影院久久久久 | 91精选在线 | 婷婷丁香花五月天 | 九九免费在线观看视频 | 日韩欧美高清一区二区三区 | 久久视奸| 国产精品久久久久久久久费观看 | 国产日韩欧美在线播放 | 狠狠躁夜夜av | 日本黄色a级大片 | 久久精品专区 | 亚洲高清视频在线观看免费 | 久久国产精品免费一区二区三区 | 亚洲粉嫩av | 国产又黄又猛又粗 | 日日天天干 | 精品国产一区二区三区日日嗨 | 亚洲一级国产 | 狠狠躁天天躁综合网 | 区一区二在线 | 正在播放一区二区 | 免费视频你懂得 | 黄网站色视频免费观看 | 欧美国产一区二区 | 极品美女被弄高潮视频网站 | 国产精品一区二区久久精品爱微奶 | 久久久久久久久久网 | 久久久91精品国产一区二区精品 | 国产精品久久久久久高潮 | 久久激情五月丁香伊人 | 久久都是精品 | 黄p网站在线观看 | 欧美国产不卡 | 在线最新av | 亚洲成年人免费网站 | 国产免费久久久久 | 久久成熟| 伊人婷婷网| 成人h视频在线播放 | 在线观看一二三区 | 五月综合色 | 久久久不卡影院 | 成人午夜电影免费在线观看 | 欧美日韩激情网 | 久草久草久草久草 | 黄色片视频在线观看 | 色网站在线看 | 国产福利在线免费观看 | 精品国精品自拍自在线 | 爱爱av在线| 久久艹精品 | 亚洲欧美一区二区三区孕妇写真 | 国产a级精品 | 精品女同一区二区三区在线观看 | 欧美激情综合五月色丁香 | 亚洲天堂精品 | 国产一区免费在线 | 97超碰资源站 | 国产精品久久久久免费观看 | 久久综合久久综合这里只有精品 | 玖玖在线视频观看 | 亚洲精品免费观看 | 香蕉久久久久久久 | 国产视频精品视频 | 国产探花 | 国产成人免费高清 | 97电影网站 | 国产高清在线精品 | 天天色天天爱天天射综合 | 国产中文字幕精品 | 黄色亚洲精品 | 日本中文字幕在线播放 | 狠狠操欧美 | 在线免费观看的av | 色av男人的天堂免费在线 | 在线免费观看国产黄色 | 国产小视频免费在线网址 | 久久艹在线 | 婷婷色综合 | 在线看的av网站 | 91在线www| 草免费视频 | 亚洲三级毛片 | av电影av在线 | 欧美日韩在线电影 | 美女国内精品自产拍在线播放 | 国产一二三四在线视频 | 91亚洲视频在线观看 | 最新中文字幕在线资源 | 果冻av在线 | 91社区国产高清 | 日韩电影精品一区 | 亚洲国产剧情av | 天天插天天干天天操 | 精品欧美一区二区在线观看 | 日本特黄一级 | 成年人黄色免费网站 | 青草视频在线 | 激情视频一区 | 999久久久精品视频 日韩高清www | 欧洲色综合 | 国产日韩在线看 | www.国产视频 | 91精品国产自产在线观看永久 | 日本精品一区二区三区在线观看 | 国产伦理一区二区三区 | 99精品视频中文字幕 | 五月天婷亚洲天综合网鲁鲁鲁 | 久久五月精品 | 97小视频 | 国产热re99久久6国产精品 | 日韩精品一区二区三区在线播放 | 一 级 黄 色 片免费看的 | 精品久久久999 | 亚洲伊人av | 国内久久精品视频 | 国产一级免费在线 | 日日干综合| 精品国产乱码久久久久 | 国产精品成人自产拍在线观看 | 国产超碰97 | 波多野结衣电影一区二区 | 日韩在线观看一区二区 | 97精品免费视频 | 国产视频在线观看免费 | 亚洲免费黄色 | 天天色成人| 日韩在线观看视频在线 | 久久成人18免费网站 | 国产精品av免费 | 97在线观看免费视频 | 欧洲精品码一区二区三区免费看 | 午夜免费福利片 | 欧美一区二区在线免费观看 | 国产福利中文字幕 | 一区二区三区日韩在线 | 国产一级黄 | 天天干天天操天天做 | 精品一区 在线 | 永久黄网站色视频免费观看w | 永久免费av在线播放 | 综合在线色| www.夜夜操 | 胖bbbb搡bbbb擦bbbb | 日日干日日色 | 91香蕉视频在线下载 | 91桃色免费观看 | 免费视频一区二区 | av中文资源在线 | 国产精品美 | 天天曰视频 | 91福利社区在线观看 | 在线免费观看国产 |