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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

大数据技术原理与应用实验4——MapReduce初级编程实践

發(fā)布時間:2023/12/10 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大数据技术原理与应用实验4——MapReduce初级编程实践 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

鏈接: 大數(shù)據(jù)技術(shù)原理與應(yīng)用實驗1——熟悉常用的HDFS操作
鏈接: 大數(shù)據(jù)技術(shù)原理與應(yīng)用實驗2——熟悉常用的Hbase操作
鏈接: 大數(shù)據(jù)技術(shù)原理與應(yīng)用實驗3——NoSQL和關(guān)系數(shù)據(jù)庫的操作比較

MapReduce初級編程實踐

  • 一、實驗?zāi)康?/li>
  • 二、實驗環(huán)境
  • 三、實驗內(nèi)容
    • (一)編程實現(xiàn)文件合并和去重操作
      • 1. 具體內(nèi)容
      • 2. 操作過程
      • 3. 實驗代碼
      • 4. 運行結(jié)果
    • (二)編寫程序?qū)崿F(xiàn)對輸入文件的排序
      • 1. 具體內(nèi)容
      • 2. 操作過程
      • 3. 實驗代碼
      • 4. 運行結(jié)果
    • (三)對給定的表格進行信息挖掘
      • 1. 具體內(nèi)容
      • 2. 操作過程
      • 3. 實驗代碼
      • 4. 運行結(jié)果
  • 四、實驗總結(jié)

一、實驗?zāi)康?/h1>

(1)通過實驗掌握基本的MapReduce編程方法;
(2)掌握用MapReduce解決一些常見的數(shù)據(jù)處理問題,包括數(shù)據(jù)去重、數(shù)據(jù)排序和數(shù)據(jù)挖掘等。

二、實驗環(huán)境

(1)Linux操作系統(tǒng)(CentOS7.5)
(2)VMware Workstation Pro 15.5
(3)遠程終端工具Xshell7
(4)Xftp7傳輸工具;
(5)Hadoop版本:3.1.3;
(6)HBase版本:2.2.2;
(7)JDK版本:1.8;
(8)Java IDE:Idea;
(9)MySQL版本:5.7;

三、實驗內(nèi)容

(一)編程實現(xiàn)文件合并和去重操作

1. 具體內(nèi)容

對于兩個輸入文件,即文件A和文件B,請編寫MapReduce程序,對兩個文件進行合并,并剔除其中重復(fù)的內(nèi)容,得到一個新的輸出文件C。下面是輸入文件和輸出文件的一個樣例供參考。
輸入文件A的樣例如下:

20170101 x 20170102 y 20170103 x 20170104 y 20170105 z 20170106 x

輸入文件B的樣例如下:

20170101 y 20170102 y 20170103 x 20170104 z 20170105 y

根據(jù)輸入文件A和B合并得到的輸出文件C的樣例如下:

20170101 x 20170101 y 20170102 y 20170103 x 20170104 y 20170104 z 20170105 y 20170105 z 20170106 x

2. 操作過程

1.啟動 hadoop:

2. 需要首先刪除HDFS中與當(dāng)前Linux用戶hadoop對應(yīng)的input和output目錄(即HDFS中的“/opt/module/hadoop-3.1.3/input”和“/opt/module/hadoop-3.1.3/output”目錄),這樣確保后面程序運行不會出現(xiàn)問題

cd /opt/module/hadoop-3.1.3/ ./bin/hdfs dfs -rm -r input ./bin/hdfs dfs -rm -r output


3. 再在HDFS中新建與當(dāng)前Linux用戶hadoop對應(yīng)的input目錄,即“/opt/module/hadoop-3.1.3/input”目錄

./bin/hdfs dfs -mkdir /input/test1/

創(chuàng)建A.txt B.txt,輸入上述內(nèi)容

vim A.txt vim B.txt



4. 將A,B上傳到HDFS中

./bin/hdfs dfs -put ./A.txt /input/test1/ ./bin/hdfs dfs -put ./B.txt /input/test1/

3. 實驗代碼

package com.xusheng.mapreduce.shiyan;import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.Mapper; import org.apache.hadoop.mapreduce.Reducer; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;import java.io.IOException;public class Merge {/*** @param xusheng* 對A,B兩個文件進行合并,并剔除其中重復(fù)的內(nèi)容,得到一個新的輸出文件C*///重載map函數(shù),直接將輸入中的value復(fù)制到輸出數(shù)據(jù)的key上public static class Map extends Mapper<Object, Text, Text, Text>{private static Text text = new Text();public void map(Object key, Text value, Context context) throws IOException,InterruptedException{text = value;context.write(text, new Text(""));}}//重載reduce函數(shù),直接將輸入中的key復(fù)制到輸出數(shù)據(jù)的key上public static class Reduce extends Reducer<Text, Text, Text, Text>{public void reduce(Text key, Iterable<Text> values, Context context ) throws IOException,InterruptedException{context.write(key, new Text(""));}}public static void main(String[] args) throws Exception{// TODO Auto-generated method stubConfiguration conf = new Configuration();//conf.set("fs.default.name","hdfs://localhost:9000");conf.set("fs.defaultFS","hdfs://hadoop102:8020");String[] otherArgs = new String[]{"/input/test1","/output/test1"}; //* 直接設(shè)置輸入?yún)?shù) *//*if (otherArgs.length != 2) {System.err.println("Usage: wordcount <in><out>");System.exit(2);}Job job = Job.getInstance(conf,"Merge and duplicate removal");job.setJarByClass(Merge.class);job.setMapperClass(Map.class);job.setCombinerClass(Reduce.class);job.setReducerClass(Reduce.class);job.setOutputKeyClass(Text.class);job.setOutputValueClass(Text.class);FileInputFormat.addInputPath(job, new Path(otherArgs[0]));FileOutputFormat.setOutputPath(job, new Path(otherArgs[1]));System.exit(job.waitForCompletion(true) ? 0 : 1);}}

4. 運行結(jié)果

./bin/hdfs dfs -cat /output/test1/*

(二)編寫程序?qū)崿F(xiàn)對輸入文件的排序

1. 具體內(nèi)容

現(xiàn)在有多個輸入文件,每個文件中的每行內(nèi)容均為一個整數(shù)。要求讀取所有文件中的整數(shù),進行升序排序后,輸出到一個新的文件中,輸出的數(shù)據(jù)格式為每行兩個整數(shù),第一個數(shù)字為第二個整數(shù)的排序位次,第二個整數(shù)為原待排列的整數(shù)。下面是輸入文件和輸出文件的一個樣例供參考。
輸入文件1的樣例如下:

33 37 12 40

輸入文件2的樣例如下:

4 16 39 5

輸入文件3的樣例如下:

1 45 25

根據(jù)輸入文件1、2和3得到的輸出文件如下:

1 1 2 4 3 5 4 12 5 16 6 25 7 33 8 37 9 39 10 40 11 45

2. 操作過程

1.創(chuàng)建1.txt ,2.txt ,3.txt,輸入上述內(nèi)容
再在HDFS中新建與當(dāng)前Linux用戶hadoop對應(yīng)的input目錄,即“/opt/module/hadoop-3.1.3/input”目錄

./bin/hdfs dfs -mkdir /input/test2/ vim 1.txt vim 2.txt vim 3.txt


2.將1.txt ,2.txt ,3.txt上傳到HDFS中

./bin/hdfs dfs -put ./1.txt /input/test2/ ./bin/hdfs dfs -put ./2.txt /input/test2/ ./bin/hdfs dfs -put ./3.txt /input/test2/


3. 實驗代碼

package com.xusheng.mapreduce.shiyan;import java.io.IOException;import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.Mapper; import org.apache.hadoop.mapreduce.Partitioner; import org.apache.hadoop.mapreduce.Reducer; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.util.GenericOptionsParser;public class MergeSort {/*** @param xusheng* 輸入多個文件,每個文件中的每行內(nèi)容均為一個整數(shù)* 輸出到一個新的文件中,輸出的數(shù)據(jù)格式為每行兩個整數(shù),第一個數(shù)字為第二個整數(shù)的排序位次,第二個整數(shù)為原待排列的整數(shù)*///map函數(shù)讀取輸入中的value,將其轉(zhuǎn)化成IntWritable類型,最后作為輸出keypublic static class Map extends Mapper<Object, Text, IntWritable, IntWritable>{private static IntWritable data = new IntWritable();public void map(Object key, Text value, Context context) throws IOException,InterruptedException{String text = value.toString();data.set(Integer.parseInt(text));context.write(data, new IntWritable(1));}}//reduce函數(shù)將map輸入的key復(fù)制到輸出的value上,然后根據(jù)輸入的value-list中元素的個數(shù)決定key的輸出次數(shù),定義一個全局變量line_num來代表key的位次public static class Reduce extends Reducer<IntWritable, IntWritable, IntWritable, IntWritable>{private static IntWritable line_num = new IntWritable(1);public void reduce(IntWritable key, Iterable<IntWritable> values, Context context) throws IOException,InterruptedException{for(IntWritable val : values){context.write(line_num, key);line_num = new IntWritable(line_num.get() + 1);}}}//自定義Partition函數(shù),此函數(shù)根據(jù)輸入數(shù)據(jù)的最大值和MapReduce框架中Partition的數(shù)量獲取將輸入數(shù)據(jù)按照大小分塊的邊界,然后根據(jù)輸入數(shù)值和邊界的關(guān)系返回對應(yīng)的Partiton IDpublic static class Partition extends Partitioner<IntWritable, IntWritable>{public int getPartition(IntWritable key, IntWritable value, int num_Partition){int Maxnumber = 65223;//int型的最大數(shù)值int bound = Maxnumber/num_Partition+1;int keynumber = key.get();for (int i = 0; i<num_Partition; i++){if(keynumber<bound * (i+1) && keynumber>=bound * i){return i;}}return -1;}}public static void main(String[] args) throws Exception{// TODO Auto-generated method stubConfiguration conf = new Configuration();//conf.set("fs.default.name","hdfs://localhost:9000");conf.set("fs.defaultFS","hdfs://hadoop102:8020");String[] otherArgs = new String[]{"/input/test2","/output/test2"}; /* 直接設(shè)置輸入?yún)?shù) */if (otherArgs.length != 2) {System.err.println("Usage: wordcount <in><out>");System.exit(2);}Job job = Job.getInstance(conf,"Merge and sort");//實例化Merge類job.setJarByClass(MergeSort.class);//設(shè)置主類名job.setMapperClass(Map.class);//指定使用上述代碼自定義的Map類job.setReducerClass(Reduce.class);//指定使用上述代碼自定義的Reduce類job.setPartitionerClass(Partition.class);job.setOutputKeyClass(IntWritable.class);job.setOutputValueClass(IntWritable.class);//設(shè)定Reduce類輸出的<K,V>,V類型FileInputFormat.addInputPath(job, new Path(otherArgs[0]));//添加輸入文件位置FileOutputFormat.setOutputPath(job, new Path(otherArgs[1]));//設(shè)置輸出結(jié)果文件位置System.exit(job.waitForCompletion(true) ? 0 : 1);//提交任務(wù)并監(jiān)控任務(wù)狀態(tài)} }

4. 運行結(jié)果

./bin/hdfs dfs -cat /output/test2/*

(三)對給定的表格進行信息挖掘

1. 具體內(nèi)容

下面給出一個child-parent的表格,要求挖掘其中的父子輩關(guān)系,給出祖孫輩關(guān)系的表格。
輸入文件內(nèi)容如下:

child parent Steven Lucy Steven Jack Jone Lucy Jone Jack Lucy Mary Lucy Frank Jack Alice Jack Jesse David Alice David Jesse Philip David Philip Alma Mark David Mark Alma

輸出文件內(nèi)容如下:

grandchild grandparent Steven Alice Steven Jesse Jone Alice Jone Jesse Steven Mary Steven Frank Jone Mary Jone Frank Philip Alice Philip Jesse Mark Alice Mark Jesse

2. 操作過程

1.創(chuàng)建child.txt,輸入上述內(nèi)容
再在HDFS中新建與當(dāng)前Linux用戶hadoop對應(yīng)的input目錄,即“/opt/module/hadoop-3.1.3/input”目錄

./bin/hdfs dfs -mkdir /input/test3/ vim child.txt



2. 將child.txt上傳到HDFS中

./bin/hdfs dfs -put ./ child.txt /input/test3/

3. 實驗代碼

package com.xusheng.mapreduce.shiyan;import java.io.IOException; import java.util.*;import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.Mapper; import org.apache.hadoop.mapreduce.Reducer; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.util.GenericOptionsParser;public class simple_data_mining {public static int time = 0;/*** @param xusheng* 輸入一個child-parent的表格* 輸出一個體現(xiàn)grandchild-grandparent關(guān)系的表格*///Map將輸入文件按照空格分割成child和parent,然后正序輸出一次作為右表,反序輸出一次作為左表,需要注意的是在輸出的value中必須加上左右表區(qū)別標志public static class Map extends Mapper<Object, Text, Text, Text>{public void map(Object key, Text value, Context context) throws IOException,InterruptedException{String child_name = new String();String parent_name = new String();String relation_type = new String();String line = value.toString();int i = 0;while(line.charAt(i) != ' '){i++;}String[] values = {line.substring(0,i),line.substring(i+1)};if(values[0].compareTo("child") != 0){child_name = values[0];parent_name = values[1];relation_type = "1";//左右表區(qū)分標志context.write(new Text(values[1]), new Text(relation_type+"+"+child_name+"+"+parent_name));//左表relation_type = "2";context.write(new Text(values[0]), new Text(relation_type+"+"+child_name+"+"+parent_name));//右表}}}public static class Reduce extends Reducer<Text, Text, Text, Text>{public void reduce(Text key, Iterable<Text> values,Context context) throws IOException,InterruptedException{if(time == 0){ //輸出表頭context.write(new Text("grand_child"), new Text("grand_parent"));time++;}int grand_child_num = 0;String grand_child[] = new String[10];int grand_parent_num = 0;String grand_parent[]= new String[10];Iterator ite = values.iterator();while(ite.hasNext()){String record = ite.next().toString();int len = record.length();int i = 2;if(len == 0) continue;char relation_type = record.charAt(0);String child_name = new String();String parent_name = new String();//獲取value-list中value的childwhile(record.charAt(i) != '+'){child_name = child_name + record.charAt(i);i++;}i=i+1;//獲取value-list中value的parentwhile(i<len){parent_name = parent_name+record.charAt(i);i++;}//左表,取出child放入grand_childif(relation_type == '1'){grand_child[grand_child_num] = child_name;grand_child_num++;}else{//右表,取出parent放入grand_parentgrand_parent[grand_parent_num] = parent_name;grand_parent_num++;}}if(grand_parent_num != 0 && grand_child_num != 0 ){for(int m = 0;m<grand_child_num;m++){for(int n=0;n<grand_parent_num;n++){context.write(new Text(grand_child[m]), new Text(grand_parent[n]));//輸出結(jié)果}}}}}public static void main(String[] args) throws Exception{// TODO Auto-generated method stubConfiguration conf = new Configuration();//conf.set("fs.default.name","hdfs://localhost:9000");conf.set("fs.default.name","hdfs://hadoop102:8020");String[] otherArgs = new String[]{"/input/test3","/output/test3"}; /* 直接設(shè)置輸入?yún)?shù) */if (otherArgs.length != 2) {System.err.println("Usage: wordcount <in><out>");System.exit(2);}Job job = Job.getInstance(conf,"Single table join");job.setJarByClass(simple_data_mining.class);job.setMapperClass(Map.class);job.setReducerClass(Reduce.class);job.setOutputKeyClass(Text.class);job.setOutputValueClass(Text.class);FileInputFormat.addInputPath(job, new Path(otherArgs[0]));FileOutputFormat.setOutputPath(job, new Path(otherArgs[1]));System.exit(job.waitForCompletion(true) ? 0 : 1);} }

4. 運行結(jié)果

./bin/hdfs dfs -cat /output/test3/*


四、實驗總結(jié)

三個實驗的思路:

(1)編程實現(xiàn)文件合并和去重操作
本道題主要目的是去重,我在編寫的時候的思路就是 通過map函數(shù)讀取 key,value 因為我的目的是去重,所以在這里我完全可以把整個數(shù)據(jù)作為一個key,而value我可以不管他 而reduce會接受到的是<key,value-list>形式的數(shù)據(jù),我們只需要輸出他接受到的key就可以了,因為重復(fù)的值體現(xiàn)在value-list里面,而key是位移的.
可以從python字典的角度來理解,我們把文檔的每一行作為字典的鍵,出現(xiàn)的次數(shù)作為值,最終我們循環(huán)輸出所有的鍵
(2)編寫程序?qū)崿F(xiàn)對輸入文件的排序
因為MR自帶排序,所以我們只要把輸入的數(shù)字以int的形式交給map map將這個數(shù)字作為key輸出,而rerduce函數(shù)將map輸入的key復(fù)制到輸出的value上即可,因為要輸入排序的序號,所以再定義個變量用來記錄輸出數(shù)字的排序即可
(3)對給定的表格進行信息挖掘
本題其實相當(dāng)于一個表的自身join,但是我們需要轉(zhuǎn)化一下,輸入的文件只是child和parent ,將他正序輸出一次作為右表,反序輸出一次作為左表,這樣就可以完成child parent grand三個字段的兩張表操作,輸出的時候加上兩張表的標識來區(qū)分 reduce函數(shù)則用來取出左表中的child 即為grandchild 再取出右表的parent相當(dāng)于grandparent即可。

總結(jié)

以上是生活随笔為你收集整理的大数据技术原理与应用实验4——MapReduce初级编程实践的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

天天射天天操天天干 | 亚洲精品国偷自产在线99热 | 亚洲国产高清在线 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 国产热re99久久6国产精品 | 欧美视频网址 | 久久久久五月天 | 欧美精品乱码99久久影院 | 久久久久国产精品午夜一区 | 久久久午夜电影 | 国产黄色大全 | 中文在线资源 | 欧美国产91| 国产在线一区二区 | 91精品爽啪蜜夜国产在线播放 | 精品国产乱码一区二 | 三级黄色免费 | 蜜臀精品久久久久久蜜臀 | 成人av地址| 国产精品1区2区 | 日本夜夜草视频网站 | 日韩有码网站 | 99热日本| 日韩av在线网站 | 久青草电影 | 久久国精品 | 五月婷婷,六月丁香 | 国产亚洲欧美精品久久久久久 | 日日天天干 | 欧美日产在线观看 | 91精品视频免费在线观看 | 国产精品一区二区中文字幕 | 久久露脸国产精品 | 最近更新中文字幕 | 九九视频在线观看视频6 | 99视频免费在线观看 | 99久久免费看 | 黄网站大全 | 成人av电影在线 | 天天操天天操天天操天天操 | 五月激情丁香图片 | 三级黄色网址 | 九九久久成人 | 日b视频在线观看网址 | 国产成人精品在线播放 | 在线观看91精品国产网站 | 国产生活一级片 | 性色av一区二区三区在线观看 | 国产美女免费视频 | 又黄又爽又刺激的视频 | 成人av高清 | 永久免费毛片在线观看 | 久久99国产综合精品免费 | 国产97视频在线 | 精品视频国产一区 | 伊人伊成久久人综合网站 | 九九综合九九 | 一区二区三区在线免费观看 | 超碰免费公开 | 欧美aa在线 | 亚洲综合色丁香婷婷六月图片 | 激情av网 | 97高清视频 | 国产视频1区2区3区 久久夜视频 | 久久国产精品免费视频 | 日本高清中文字幕有码在线 | 免费成人在线观看 | 久久久黄视频 | 97成人在线| 成人在线免费观看网站 | 欧美日韩三区二区 | 欧美一级艳片视频免费观看 | 日韩在线免费看 | 国产一区二区三区四区在线 | 黄网站污| 国产成人精品午夜在线播放 | 成 人 黄 色 视频 免费观看 | 国产黄色精品网站 | 91精品综合在线观看 | 9在线观看免费高清完整版 玖玖爱免费视频 | 在线天堂亚洲 | 精品99视频 | 四虎在线免费观看视频 | 99在线视频精品 | 国内精品久久久久久久影视麻豆 | 99精品在线观看视频 | 国产黄免费在线观看 | 久久精品国产一区二区电影 | 在线视频 影院 | 亚洲区精品视频 | 亚洲综合在线观看视频 | 国产一区二区三区免费在线观看 | 久久久久国产一区二区三区 | 九九免费在线观看 | 国产在线精 | 久久精品久久精品久久精品 | 久久精品一区二区三区四区 | 人人天天夜夜 | 欧美视频18 | 亚洲国产欧美在线人成大黄瓜 | 国产原创av片| 天天射天天操天天 | 91视频国产高清 | 国产高清av在线播放 | 色噜噜日韩精品欧美一区二区 | 91污视频在线 | 亚洲成a人片在线观看网站口工 | 在线观看视频在线观看 | 国产精品6 | 久久成人国产精品一区二区 | 片黄色毛片黄色毛片 | 免费网站黄色 | 久久综合狠狠综合久久综合88 | 亚洲,国产成人av | 91久久爱热色涩涩 | 黄色1级毛片 | 99热在线看| 国内偷拍精品视频 | 日韩一区二区三区免费电影 | 久久免费国产视频 | 国产精品video | 在线中文字幕电影 | 综合国产在线 | 在线观看一区二区精品 | 亚洲成人免费观看 | 国产成人在线网站 | 日韩视频一 | 黄色一区三区 | www.久久久com | av黄色在线观看 | 999日韩| 欧美极品xxxx| 黄色三级在线看 | 色91在线视频 | 麻豆视频在线观看 | 美女免费电影 | 国产精品久久人 | 狠狠色丁香九九婷婷综合五月 | 欧美91精品国产自产 | 久久国语露脸国产精品电影 | 日韩中文在线播放 | 国产一级视屏 | 久久高清免费观看 | 国产女人18毛片水真多18精品 | 色99在线| 婷婷色伊人 | 日本中文字幕影院 | 手机看片国产日韩 | 久久精精品视频 | 中文字幕在线播放一区二区 | 午夜久久电影网 | 久久久久久国产一区二区三区 | 亚洲女欲精品久久久久久久18 | 综合久色| 五月婷婷,六月丁香 | 综合久久影院 | 色婷婷狠| 六月丁香伊人 | 91理论片午午伦夜理片久久 | 一区二区三区影院 | 国产伦精品一区二区三区四区视频 | 毛片网站在线看 | 成人免费在线网 | 国产精品视频不卡 | 精品自拍av | 天天综合网在线观看 | 在线观看亚洲国产精品 | 久精品视频在线观看 | 国产精品成人国产乱一区 | 国产中文字幕在线播放 | 中文字幕av专区 | 人人插人人爱 | 天天夜夜操 | 国产精品网红福利 | 精品国产欧美 | 国产高清在线看 | 色噜噜噜噜 | 在线播放 一区 | 国产一区二区高清 | 日本中文在线 | 丁香婷婷综合激情五月色 | 国产一区二区精品久久 | 人人要人人澡人人爽人人dvd | 91九色性视频 | 91 在线视频播放 | 欧美激情综合五月色丁香小说 | 国产精品99爱| 在线播放视频一区 | 成年人在线播放视频 | 日韩视频免费在线 | 国产精品一区二区三区免费视频 | 久草电影免费在线观看 | 亚洲精品人人 | 探花视频免费观看 | 午夜国产福利在线 | 欧美伊人网 | 亚洲精品视频第一页 | 久久不卡免费视频 | 国产精品久久久久久久久软件 | 在线播放第一页 | 国产精品18久久久久久首页狼 | 国内精品久久久 | 久久视频在线视频 | 国产亚洲精品无 | 亚洲高清免费在线 | 成人在线免费视频 | 国产精品网在线观看 | 最近中文字幕大全中文字幕免费 | 欧美一区二区在线看 | 夜夜视频资源 | 国产99精品在线观看 | 日本激情视频中文字幕 | 综合在线色 | 久久99最新地址 | 亚洲国产一区二区精品专区 | 国产中文字幕在线免费观看 | 日韩视频一区二区三区 | 精品国产精品久久一区免费式 | av在线亚洲天堂 | 天天色天天上天天操 | 超碰97免费 | 国产成人久久 | 欧美日韩国产综合网 | 国产在线专区 | 手机av观看 | 91精品在线免费视频 | 国产精品美女视频 | 欧美成人亚洲 | 日本久久久亚洲精品 | 亚洲va综合va国产va中文 | 992tv在线成人免费观看 | 日韩av视屏在线观看 | 久久av不卡| 国产又粗又猛又黄又爽的视频 | 一区二区三区免费看 | 亚洲视频999 | 欧美另类sm图片 | 亚洲欧美日韩一区二区三区在线观看 | 国产精品99久久久久的智能播放 | 天天天天综合 | 国产福利91精品一区 | 日韩最新av在线 | a色视频| 亚洲爱av | 黄色资源网站 | 91成人在线观看喷潮 | 国产999在线 | 91大片网站 | 精品一区二区三区电影 | 91亚洲精品久久久 | 欧美a级在线播放 | 2023年中文无字幕文字 | 黄色亚洲免费 | 黄色一级免费网站 | 免费日韩 精品中文字幕视频在线 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 久久九九影院 | 国产精品丝袜久久久久久久不卡 | 最近中文字幕mv免费高清在线 | 在线视频第一页 | 国产特级毛片aaaaaaa高清 | 天天干天天操天天干 | 黄网在线免费观看 | 欧美在线一级片 | 国产精品久久在线观看 | 999视频在线播放 | 在线免费国产 | 久久国产欧美日韩精品 | 免费a v观看| www毛片com| 中文字幕网站视频在线 | www色com| 亚洲一二三区精品 | 日韩成人免费在线观看 | 国产一区欧美二区 | 色5月婷婷 | 最新av在线播放 | 亚洲日本韩国一区二区 | 综合色狠狠 | 日韩三级精品 | 国产高清永久免费 | 久久久精品午夜 | 久久婷婷视频 | 日韩av看片 | 婷婷丁香激情网 | 久久久免费少妇 | 91久久偷偷做嫩草影院 | 99热在线国产 | 国产在线日本 | 中文字幕有码在线播放 | 天天插日日操 | 久久久久国产精品午夜一区 | 国产精品日韩精品 | 国产性xxxx | 狠狠狠色丁香婷婷综合激情 | 91| 亚洲精品小视频 | 久久久久国产精品一区 | 日韩在线网址 | 精品亚洲视频在线 | 国产成人免费观看久久久 | 欧美另类成人 | 久久夜夜爽 | 中文字幕一区二区在线播放 | 不卡视频在线 | 黄色一级性片 | 国产日韩欧美在线观看 | 色婷婷88av视频一二三区 | 国产丝袜高跟 | 热热热热热色 | 成人免费毛片aaaaaa片 | 亚洲资源视频 | 人人cao| 久草在在线视频 | 爱射综合 | 久久久私人影院 | 69绿帽绿奴3pvideos | 81精品国产乱码久久久久久 | 99热最新| 狠狠干狠狠色 | 激情综合网在线观看 | 国产精品久久久区三区天天噜 | 有没有在线观看av | av福利在线看 | 国产免费观看av | 五月激情六月丁香 | 91在线观看欧美日韩 | 九九综合九九综合 | 国产高清av免费在线观看 | 久久三级毛片 | 欧美国产视频在线 | 国产精品观看在线亚洲人成网 | 在线观看亚洲国产精品 | 久青草视频在线观看 | 五月丁香| 91黄色小网站 | 国语自产偷拍精品视频偷 | 精品伦理一区二区三区 | 久久久久女人精品毛片九一 | 久久久久伦理电影 | 国产中文字幕一区 | 日韩69av | 国产黄色在线观看 | 免费在线观看午夜视频 | 色欧美综合 | 香蕉视频日本 | 新版资源中文在线观看 | 99精品国产福利在线观看免费 | 最近免费观看的电影完整版 | 久久久久久国产精品久久 | 免费在线电影网址大全 | 99精品国产99久久久久久福利 | 三三级黄色片之日韩 | 国产黄色av | 成人一区电影 | 久久久久网址 | 免费观看的av网站 | 在线亚洲成人 | 人人干人人艹 | 91九色成人蝌蚪首页 | 日日摸日日添日日躁av | 欧美日韩性视频 | 玖玖在线播放 | 久久久久久久久久久久久影院 | 日韩在线视 | 国产婷婷vvvv激情久 | 婷婷久久一区 | 国产 视频 高清 免费 | 国产成人久久av免费高清密臂 | 国产超碰97 | www.91av在线 | 久久免费黄色大片 | 久久精品这里精品 | 最新动作电影 | 欧美精品久久久久久久久久白贞 | 国产精品免费观看国产网曝瓜 | 亚洲一区美女视频在线观看免费 | 日本精品一二区 | 天天操狠狠操网站 | 成人宗合网 | 人人澡人人爽 | 人人爽人人舔 | 久久国产综合视频 | 天天干天天插伊人网 | 国产无套精品久久久久久 | 国产精品3 | 日本系列中文字幕 | 视频在线观看一区 | 亚洲精品视频二区 | 91亚洲激情| 日韩精品一区二区免费 | 精品亚洲欧美无人区乱码 | 97视频免费观看2区 亚洲视屏 | 午夜av免费观看 | 一区二区三区四区免费视频 | 五月婷婷黄色 | 成人影片免费 | 成人av在线直播 | 最近中文字幕免费 | 免费在线观看亚洲视频 | 伊人欧美| www.婷婷com| 香蕉网站在线观看 | 99久久精品日本一区二区免费 | 免费看黄视频 | 成人播放器 | 久久色亚洲 | 国内精品久久久久久久久久久久 | 欧美色图视频一区 | www.综合网.com | 久久久久久久久艹 | 久草免费看 | 在线观看国产高清视频 | 三级黄免费看 | 狠狠操狠狠干天天操 | 亚洲欧美视频网站 | 在线一区二区三区 | 444av| 97超碰在线久草超碰在线观看 | 久久免费a | 在线观看免费中文字幕 | 99精品国产福利在线观看免费 | 国产精品福利在线观看 | 成人中文字幕+乱码+中文字幕 | 久久影院亚洲 | 色综合天天综合 | 91精品国产成人www | 日韩中文字幕亚洲一区二区va在线 | 91在线一区二区 | 男女日麻批 | 日免费视频 | 国产午夜三级一区二区三 | 久久99婷婷 | 国产精品麻豆99久久久久久 | 国产一区免费视频 | 中文字幕在线观看你懂的 | 久久福利精品 | 91桃色免费观看 | 亚洲激情婷婷 | 成人免费视频观看 | 国产麻豆剧果冻传媒视频播放量 | 亚洲乱码一区 | 欧美日韩中字 | 五月婷婷中文网 | 天天操天天舔天天干 | 日韩av不卡在线播放 | 97精产国品一二三产区在线 | 国产精品国产自产拍高清av | 2021国产在线视频 | 日韩欧美精品一区二区 | 国产视频一区在线免费观看 | 亚洲精品玖玖玖av在线看 | 精品亚洲网| 色狠狠综合天天综合综合 | 中国一区二区视频 | 久草视频在线免费 | 天天爽天天爽天天爽 | 国产91学生粉嫩喷水 | 久久理论电影网 | 国产精品18久久久久久久 | 丝袜少妇在线 | 国产福利一区在线观看 | www色com| www91在线| 欧美日韩精品久久久 | 日日夜夜人人天天 | 精品黄色在线观看 | 国产人成看黄久久久久久久久 | 99看视频在线观看 | 午夜私人影院 | 在线观看免费色 | 波多野结衣电影一区 | 九九九九精品九九九九 | 91香蕉视频720p | 午夜91在线 | 超碰久热 | 日韩大片在线免费观看 | 一级α片| 免费看污污视频的网站 | 欧美一级免费片 | 欧洲黄色片 | 久久美女免费视频 | 天天天在线综合网 | 成人av免费在线 | 国产视频精品免费播放 | 中文字幕 国产精品 | 在线观看免费高清视频大全追剧 | 国产亚洲精品女人久久久久久 | 免费国产黄线在线观看视频 | 中文视频在线 | 久久99网站 | 国内免费久久久久久久久久久 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 91av免费在线观看 | 亚洲专区 国产精品 | 在线视频欧美精品 | 欧美日韩综合在线 | 黄色软件视频大全免费下载 | 国内精品久久久久影院日本资源 | 国产精品久久久久久妇 | 国内揄拍国产精品 | 日韩视频1区 | 日韩有码在线观看视频 | 国产黄在线播放 | 日本性视频 | 欧美一区二区三区在线看 | 日韩aⅴ视频 | 91九色国产在线 | 成人小电影在线看 | 三级a毛片 | 成人午夜电影免费在线观看 | 精品一区电影国产 | 国产成在线观看免费视频 | 国产色在线视频 | 国内精品美女在线观看 | 亚洲欧洲精品一区二区精品久久久 | 中文久草 | 91九色最新| 毛片网站在线 | 精品国产日本 | av在线免费在线 | 亚洲理论片在线观看 | 久久久久久久久精 | 欧美日韩中文在线观看 | 亚洲天堂网站视频 | 久久久2o19精品 | 香蕉在线观看视频 | 999久久久 | 天天操天天射天天爱 | 91探花在线| 亚洲一区二区黄色 | 亚洲黄色成人网 | 日韩成人黄色av | www久久久 | 91视频在线免费看 | 欧美日韩视频一区二区三区 | 午夜视频在线观看一区 | 人人爽人人澡 | 欧美精品三级在线观看 | www五月| 国产精品久久久网站 | 91xav | 一区二区三区中文字幕在线 | 亚洲欧美日韩精品久久久 | 免费的黄色的网站 | 成人黄大片 | 国产精品自在线拍国产 | 最近更新中文字幕 | 久久综合色天天久久综合图片 | 中文字幕乱码电影 | 国产精品自产拍在线观看桃花 | 99视频精品全部免费 在线 | 五月天婷亚洲天综合网鲁鲁鲁 | 日韩手机在线观看 | 一本到在线 | 香蕉视频在线播放 | 色婷婷综合久久久 | 黄在线 | 欧美日视频 | 狠狠色狠狠综合久久 | 国产精品少妇 | 97**国产露脸精品国产 | av九九 | 国产专区在线看 | 夜夜骑日日操 | 国产视频一区在线免费观看 | 69av免费视频 | 黄网站色欧美视频 | 午夜视频播放 | 免费看黄的 | 插综合网 | 日韩在线视频网址 | 欧美日韩免费一区二区三区 | 天天插天天操天天干 | 狠狠干狠狠色 | 最近日本mv字幕免费观看 | 免费中午字幕无吗 | 国内精品视频在线播放 | 97国产一区二区 | 久久精品一区二 | 91探花在线 | 美女网站视频一区 | 韩日av一区二区 | 色wwwww| 日韩高清www | 91成人在线观看高潮 | 久热av| 99精品视频精品精品视频 | 国产精品高潮呻吟久久久久 | 色多多污污在线观看 | 麻豆视传媒官网免费观看 | www.久艹| 色综合咪咪久久网 | 久久午夜电影 | 欧美日本不卡视频 | 国产精品夜夜夜一区二区三区尤 | 免费福利视频网 | 激情五月av | 国内揄拍国内精品 | 亚洲综合色网站 | 丁香花在线视频观看免费 | 91一区啪爱嗯打偷拍欧美 | 久久亚洲影视 | 国产一区免费视频 | 精品在线视频一区 | 中文字幕在线观看网址 | 亚洲精品国产日韩 | 在线观看91视频 | 久久成人国产精品免费软件 | 黄色软件在线观看视频 | 99久久久免费视频 | 免费在线看v | 国产va饥渴难耐女保洁员在线观看 | 精品一区在线看 | 婷婷深爱网 | 在线看小早川怜子av | 人人草在线视频 | 久久婷婷亚洲 | 丁香五婷| 成 人 黄 色 片 在线播放 | 99亚洲视频 | www.久艹 | bbbbb女女女女女bbbbb国产 | 人人射人人插 | 天天干天天做 | 日韩av一区在线观看 | 日韩在线不卡 | 美女网站一区 | 欧美日韩精品在线观看视频 | 婷婷色资源| 91日韩精品一区 | 国产精品ⅴa有声小说 | 国产一二三四在线观看视频 | 国产精品第72页 | 久久久久久美女 | 久久精品免费看 | 97成人精品 | 97成人资源| 日韩在线电影一区二区 | 欧美成人在线网站 | 欧美在线视频不卡 | 日韩免费三区 | 国产一二三区在线观看 | 久久国产精品久久w女人spa | 二区三区中文字幕 | 国产在线v | 亚洲精品999 | 日韩黄色av网站 | 日韩av有码在线 | 欧美少妇xxx| 在线有码中文字幕 | 91大神精品视频在线观看 | 精品在线观看一区二区 | 色婷婷88av视频一二三区 | 综合色狠狠 | av色网站 | 国产一级电影免费观看 | 日本黄色免费在线观看 | 探花视频免费观看 | 国产 日韩 在线 亚洲 字幕 中文 | 亚洲精品美女在线观看播放 | 亚洲深夜影院 | 欧美极度另类 | 一级黄色片在线 | 爱爱一区 | 日韩一区二区免费在线观看 | 麻花豆传媒mv在线观看网站 | 丁香久久五月 | 日韩精品视频久久 | 91麻豆看国产在线紧急地址 | 久久久男人的天堂 | 亚洲乱码中文字幕综合 | 午夜精品久久久久久久久久久久久久 | 久久高清免费视频 | 国产高清视频在线播放 | 亚洲毛片在线观看. | 区一区二在线 | 欧美日韩视频 | 99视频国产精品免费观看 | 婷婷久久一区二区三区 | 国产一区二区视频在线播放 | 狠狠狠狠狠狠干 | 国产精品 国产精品 | 日韩欧美精品在线视频 | 视频国产精品 | 国产精品免费观看久久 | 久久99精品久久久久久 | 狠狠操在线 | 亚洲天天看 | 日本黄色a级大片 | 欧美日韩不卡一区二区 | 丝袜美女在线观看 | 在线91观看 | 综合亚洲视频 | 免费观看91| 五月激情视频 | 一级黄色片在线免费看 | 干干干操操操 | 麻豆视频免费看 | 天天爱天天舔 | 在线精品在线 | 99久久婷婷国产精品综合 | 国产特级毛片aaaaaaa高清 | 日本久久电影网 | 激情 婷婷 | 久久玖| 99视频在线观看视频 | 一区二区观看 | 日日爽 | 欧美日韩在线第一页 | 日韩免费网址 | 福利一区在线 | 国产精品麻豆免费版 | 在线亚洲人成电影网站色www | 日韩a在线看 | 国产精品精品久久久久久 | 国产一区二区高清视频 | 人人澡人人爱 | 黄色性av | 成人免费大片黄在线播放 | 麻豆视频在线免费观看 | 国产精品高清在线 | 国产成人三级在线观看 | 久草在线中文888 | 国内精品久久久久 | 高清国产一区 | 日韩一区二区三区视频在线 | 免费网站黄 | 在线观看黄av | 久久精品综合网 | 在线中文字幕一区二区 | 日韩成人免费电影 | 欧美精品久久久久久久免费 | 91人人揉日日捏人人看 | 欧美另类tv| 怡红院成人在线 | 美女在线免费观看视频 | 97福利在线 | 国产精品一区二区久久 | 婷婷在线色 | 国产精品久久久久三级 | 亚洲aⅴ一区二区三区 | 99久久超碰中文字幕伊人 | 黄色成人毛片 | 久久久久久久久久久网 | 久久久久久久久久久久av | 国产99久久 | 亚洲国产大片 | 天天操操操操操操 | 久久综合久久综合久久综合 | 九九九九热精品免费视频点播观看 | 成人看片 | 日韩欧美综合视频 | 婷婷免费视频 | 特级毛片网站 | 高清av在线 | 丁香婷婷色综合亚洲电影 | 亚洲专区中文字幕 | 日韩av成人在线观看 | 亚洲视频 一区 | 国产在线日韩 | 中文字幕视频三区 | 蜜臀久久99精品久久久久久网站 | 午夜成人免费电影 | 91在线视频免费 | 成人国产精品 | 日韩视频欧美视频 | 欧美亚洲国产日韩 | 国产免费黄色 | 久久影视精品 | 日本久久高清视频 | 99久久久国产精品 | 久久精品久久国产 | 美女av电影 | 狠狠五月婷婷 | 久久精品国产免费看久久精品 | 97在线影视 | 日韩免费大片 | 婷婷色在线视频 | 97精品国产97久久久久久 | 超碰97人人射妻 | 亚洲精品视频一 | 久久精品视频在线免费观看 | 有码中文字幕在线观看 | 精品国产伦一区二区三区 | 亚洲精品国偷拍自产在线观看 | 色99之美女主播在线视频 | 欧美激情亚洲综合 | 国产一级片直播 | 一区在线电影 | 久久国产网站 | av国产网站 | 综合久久五月天 | 亚洲日本在线一区 | 日韩中文在线字幕 | 久久免费高清视频 | 十八岁以下禁止观看的1000个网站 | 亚洲一区二区高潮无套美女 | 久久这里只精品 | 免费观看v片在线观看 | 精品一区二区免费在线观看 | 麻豆视频免费入口 | 国产黄色一级片在线 | 久久av影院 | 91精品一区国产高清在线gif | 亚洲精品国精品久久99热一 | 久久久久亚洲精品男人的天堂 | 午夜视频在线瓜伦 | 国产中文字幕视频在线观看 | 久久婷婷国产 | 天天综合色网 | 夜夜嗨av色一区二区不卡 | 麻豆一级视频 | 国产精品久久久久久久久久久久 | 日本中文字幕在线电影 | 日韩性色| 人人干人人爽 | 黄色片网站av | 欧美精品国产精品 | 99久久精品免费视频 | 国产小视频在线观看免费 | 91在线看片| 欧美日产在线观看 | 一区免费观看 | 四虎5151久久欧美毛片 | 国产精品久久久久久久久久东京 | 国产精品美女久久久 | 美女网站在线 | 91九色综合| 日韩精品一区二区三区外面 | 丁香综合 | 国产又粗又猛又爽又黄的视频先 | 日韩首页| 国产精品毛片一区视频播不卡 | 国产日产av | 久久精品99久久久久久 | 97色在线观看| 日韩黄色一级电影 | 日本天天操 | 五月天精品视频 | 91成熟丰满女人少妇 | 久操伊人 | 国产在线一卡 | 国产黑丝一区二区三区 | 黄色片免费在线 | 又污又黄网站 | 国产精品视屏 | 精品亚洲一区二区 | 国产69精品久久久久久久久久 | 国产亚洲婷婷免费 | 中文字幕高清视频 | 黄色av电影在线观看 | 精品国产视频一区 | 久久免费播放视频 | 国产最新网站 | 久久视频在线 | 国产精品久久久久永久免费 | 成人在线免费视频观看 | 探花视频免费观看 | 亚洲一区二区高潮无套美女 | 午夜精品一区二区三区免费视频 | 久久久免费毛片 | 激情深爱五月 | 91在线免费公开视频 | 欧美日本不卡视频 | 亚洲草视频| 欧美日在线观看 | 欧美特一级片 | 成人免费电影 | 精品999久久久 | 亚洲精品字幕 | 91大神免费在线观看 | 中文字幕av在线播放 | 日韩美av在线 | 激情五月婷婷 | 国产在线观看你懂的 | 国产色在线,com | 91精品毛片 | 东方av免费在线观看 | 综合在线观看 | 久久久久高清 | 午夜精品一区二区国产 | 丁香影院在线 | 亚洲精品九九 | 久久歪歪 | 黄色一级影院 | 日韩乱理 | 久久影视中文字幕 | 国产香蕉久久 | www.五月婷| 欧美午夜一区二区福利视频 | 久久综合婷婷国产二区高清 | 亚洲精品美女免费 | 久久久久黄色 | 久久艹久久 | 亚洲国产理论片 | 亚洲黄色av| 国产96在线视频 | 免费在线观看国产精品 | 亚洲成人资源在线 | 少妇bbb搡bbbb搡bbbb′ | 成人av在线直播 | 国内精品视频在线播放 | 丁香九月激情综合 | 免费一级片久久 | 精品国产aⅴ麻豆 | jizzjizzjizz亚洲 | 亚洲精品国产综合99久久夜夜嗨 | 日韩精品免费在线观看 | 99久久精品国产欧美主题曲 | 91在线日韩 | 欧美日韩高清在线 | 久久伊人精品一区二区三区 | 亚洲欧美怡红院 | 国产精品免费看久久久8精臀av | 天天操天天操天天操天天 | 婷婷久久综合网 | 精品毛片一区二区免费看 | 天天夜夜操 | 999一区二区三区 | 久久精品国产精品 | 欧美精品网站 | 精品在线99 | 999视频网站 | 99精品在线免费 | 国产一级免费片 | 久久人人爽人人爽人人片av软件 | 久久久久久久久久网 | 久久久久久久久久久久久影院 | 91看片在线播放 | 精品国产乱码久久久久久天美 | a视频在线 | 91av免费在线观看 | 99久高清在线观看视频99精品热在线观看视频 | 亚洲国产成人高清精品 | 久久精品国产亚洲aⅴ | 国产白浆在线观看 | 精品国产一区二区三区久久久 | 亚洲精品xxx | 色婷婷福利 | 四虎在线观看 | 免费一级片在线观看 | 亚洲乱亚洲乱亚洲 | 亚洲视频在线视频 | 中文一区在线 | 中文字幕专区高清在线观看 | 天天干天天操人体 | 国产成人免费观看久久久 | 国产片免费在线观看视频 | 久久精品美女视频 | 国产精品密入口果冻 | 国产精品二区三区 | 成人黄视频 | 成人中文字幕在线 | 狠狠干美女 | 日韩欧美99 | 欧美 国产 视频 | 国产成人a亚洲精品 | 国产免费黄视频在线观看 | 久久1区 | 欧美aa在线 | 精品乱码一区二区三四区 | 天天操天天操天天操天天操天天操 | 国产二区电影 | 中文字幕在线视频一区二区 | 午夜精品久久一牛影视 | 国产精品一区二区在线免费观看 | 一区三区视频在线观看 | 在线免费观看的av | 黄色一级影院 | 色a资源在线 | 在线国产专区 | 一区二区不卡高清 | 色婷婷欧美 | 亚洲日韩欧美一区二区在线 | 日韩av一区二区在线影视 | 在线观看中文av | 日本中文字幕在线电影 | 中文字幕观看av | 国产在线观看免费观看 | 国产成人福利在线观看 | 国产精品久久久久久久7电影 | av在线8 | 黄色综合| 欧美最爽乱淫视频播放 | 草久中文字幕 | 精品国内自产拍在线观看视频 | 在线看国产精品 | 日免费视频 | 久久久免费av | 九九视频在线观看视频6 | 国产精品视频一二三 | 欧美视频网址 | 欧美黄色高清 | 夜色资源站国产www在线视频 | 日韩免费视频 | 国产午夜精品视频 | 久草视频国产 |