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

聊聊MapReduce處理過程中的數(shù)據(jù)類型與數(shù)據(jù)格式

大數(shù)據(jù)
對于MP的處理過程我想大部分人都已經(jīng)知道了其原理,思路不難,這是肯定的,但是整個過程中需要考慮的細(xì)枝末節(jié)的點還挺多的,MP的輸入輸出格式就是其中的一點,那本文就帶領(lǐng)大家看看MP中的格式設(shè)置問題。

[[186685]]

MapReduce處理過程總覽

對于MP的處理過程我想大部分人都已經(jīng)知道了其原理,思路不難,這是肯定的,但是整個過程中需要考慮的細(xì)枝末節(jié)的點還挺多的,MP的輸入輸出格式就是其中的一點,那本文就帶領(lǐng)大家看看MP中的格式設(shè)置問題。

map函數(shù),起到了如下的轉(zhuǎn)換作用:map:(k1,v1)—>list(k2,v2)

reduce 函數(shù),則起到了這樣的格式轉(zhuǎn)換作用:reduce:(k2,list(v2))—>list(k3,v3)

怎么,你說你看不懂?那看來你還是沒有對mapreduce的過程有所理解,看看這幅圖,不需要解釋,你就明白上面的格式轉(zhuǎn)化是什么意思了:

上面這幅圖出自我的另外一篇博文:編寫自己的***個Hadoop實例,如果你設(shè)置了combiner函數(shù),那么中間的格式轉(zhuǎn)化將會是這個樣子:

  1. map:(k1,v1)—>list(k2,v2)  
  2. combiner:(k2,list(v2))—>list(k2,v2)  
  3. reduce:(k2,list(v2))—>list(k3,v3) 

是的,沒錯,combiner從功能上來講就是一個reducer,它的存在大大減小了reducer的壓力。

partition函數(shù)對中間結(jié)果(k2,v2)進(jìn)行處理,返回一個索引值,即分區(qū)號

  1. partition:(k2,v2)—>integer 

在前面的文章中,也就是我的博客:MapReduce輸入分片詳解中,我提到了分片是與map函數(shù)數(shù)量相等,同時它不是咱們想的那樣是一個實物分片,在程序上輸入分片在java中表現(xiàn)為InputSplit接口

  1. public abstract class InputSpilt{ 
  2.        public abstract long getLength(); 
  3.        public abstract String[] getLoacations(); 

存儲位置供mapreduce使用,以便使map任務(wù)盡量在分片附近。分片大小是用來對分片進(jìn)行排序,以便優(yōu)先處理***的***分片,從而最小化時間。InputSplit不需要MR開發(fā)人直接處理,而是由InputFormat創(chuàng)建。

客戶端通過調(diào)用InputFormat的getSplits()計算分片,然后將他們送到application master(或jobtracker),am使用存儲位置信息調(diào)度map任務(wù)在tasktracker上處理這些分片數(shù)據(jù)。map任務(wù)把輸入分片傳遞給InputFormat的getRecordReader()方法來獲得這個分片的RecordReader。RecordReader類似迭代器,對map任務(wù)進(jìn)行迭代,來生成鍵/值對,然后傳遞給map函數(shù)。也就是說InputFormat不僅僅可以計算分片,進(jìn)行數(shù)據(jù)分割,還可以對分片進(jìn)行迭代,也就是說獲得分片的迭代器,所有有關(guān)分片的操作都由InputFormat來支持,可見其強大性。

輸入格式

那既然InputFormat這么牛逼,那我們就來看看這個接口到底包含了什么,先來看看下面這張圖:

FileInputFormat類

FileInputFormat是所有文件作為數(shù)據(jù)源的InputFormat的實現(xiàn)類,主要有兩個功能:指定輸入文件位置和輸入文件生成分片的實現(xiàn)代碼段。換句話說,它并不生成分片,只是返回文件位置,并且實現(xiàn)了分片算法。

FileInputFormat指定輸入路徑

  1. addInputPath(Job job,Path path);  
  2. addInputPaths(Job job,String paths);  
  3. setInputPaths(Job job,Path ...inputPaths); 

可以添加一個路徑或者多個路徑,其中setInputPaths是以此設(shè)定完成的路徑列表。其中路徑可以是一個文件、一個目錄、或者一個glob(通配,通過通配符來獲取路徑),當(dāng)路徑是一個目錄的時候表示包含目錄下的所有文件。當(dāng)目錄中包含目錄的時候,這個目錄也會被解釋稱文件,所以會報錯。可以通過使用一個文件glob或者一個過濾器根據(jù)命名模式限定選擇目錄中的文件。還可以通過設(shè)置屬性mapred.input.dir.recursive為true強制對目錄進(jìn)行遞歸讀取。如果需要排除目錄中的個別文件,可以通過setInputPathFileter()設(shè)置一個過濾器來進(jìn)行過濾,如果不設(shè)置過濾器,也會有默認(rèn)的過濾器排除隱藏文件(以.和_開頭的)。路徑和過濾器業(yè)可以使用配置文件進(jìn)行配置:mapred.input.dir和mapred.input.path.Fileter.class

小文件處理

(小文件是指比HDFS塊小很多)在Hadoop中使用小文件的弊端:

(1)、增加map開銷,因為每個分片都要執(zhí)行一次map任務(wù),map操作會造成額外的開銷

(2)、MapReduce處理數(shù)據(jù)的***速度就是和集群中的傳輸速度相同,而處理小文件將增加作業(yè)的尋址次數(shù)

(3)、浪費namenode的內(nèi)存

解決方法:

使用SequenceFile將這些小文件合并成一個大文件或多個大文件:將文件名作為鍵,文本內(nèi)容作為值。

但是如果HDFS中已經(jīng)存在的大批小文件,可以使用CombinerFileInputFormat。

CombinerFileInputFormat把多個文件打包成一個文件以便每個mapper能夠處理更過的數(shù)據(jù)

避免切分

有時候不需要將文件進(jìn)行切分,mapper完整處理每個輸入文件。例如檢查一個文件的所有記錄是否有序。

可以通過設(shè)置最小分片大小大于要處理的文件。第二種就是使用FileInputFormat的具體子類,并且重載isSplitable()方法,把返回值設(shè)置為false。

mapper中的信息

通過調(diào)用Mapper中的Context的getInputSolit()返回一個InputSplit,如果使用的是FileInputFormat,則可以強轉(zhuǎn)為FileSplit,然后用此訪問正在輸入文件的路徑getPath(),分片開始處的字節(jié)偏移量,getLength()分片的長度。

TextInputFormat

文本輸入是默認(rèn)的InputFormat,每條記錄是一行輸入,鍵是LongWritable類型,存儲該記錄在整個文件的字節(jié)偏移量。值是該行的內(nèi)容,不包括終止符(回車、換行等),它被打包成Text對象。

KeyValueTextInputFormat

當(dāng)文件中的每一行是一個鍵/值對,使用某個分界符進(jìn)行分割,如制表符??梢酝ㄟ^mapreduce.input.keyvaluelinerecordreader.key.value.seperator屬性來指定分隔符。默認(rèn)是一個制表符。其中這個鍵是分隔符前的文本,值是分隔符后的文本,其類型都是Text類型。如:

  1. line1:this is line1 text  
  2. line2:this is line2 text 

則被分為兩條記錄,分別是:

  1. (line1,this is line1 text) 
  2. (line2,this is line2 text) 

NLineInputFormat

在TextInputFormat和KeyValueTextInputFormat中,每個mapper收到的輸入行數(shù)并不確定,行數(shù)取決于輸入分片的大小和行的長度。如果希望mapper收到固定行數(shù)的輸入,可以使用NLineInputFormat作為InputFormat。與TextInputFormat奕揚,鍵是文件中行的字節(jié)偏移量,值是行的內(nèi)容。

N是每個mapper收到的輸入行數(shù),默認(rèn)是1??梢酝ㄟ^mapreduce.input.lineinputformat.linespermap屬性設(shè)置。如:

On the top of the Crumetty Tree

The Quangle Wangle sat,

But his face you could not see,

On account of his Beaver Hat.

當(dāng)N為2的時候,每個輸入分片包含兩行。

(0,On the top of the Crumetty Tree)

(33,The Quangle Wangle sat,)

另一個mapper則收到后兩行

(57,But his face you could not see,)

(89,On account of his Beaver Hat.)

StreamInputFormat

當(dāng)解析XMl文件的時候可以使用StreamInputFormat,將stream.recordreader.class屬性設(shè)置為org.apache.Hadoop.Streaming.StreamXmlRecordReader使用StreamXmlRecordReader類。具體實現(xiàn)(沒用過)可以查看該類官方文檔

SequenceFileInputFormat

Hadoop順序文件格式存儲二進(jìn)制的鍵/值對的序列。當(dāng)需要使用順序文件作為MapReduce的輸入時,應(yīng)該使用SequenceFileInputFormat。鍵和值由順序文件指定,只需要保證map輸入的類型匹配。

SequenceFileAsTextInputFormat

SequenceFileAsTextInputFormat是SequenceFileInputFormat的變體,將順序文件的鍵和值轉(zhuǎn)化為Text對象。

SequenceFileAsBinaryInputFormat

SequenceFileAsBinaryInputFormat是SequenceFileInputFormat的一種變體,獲取順序文件的鍵和值作為二進(jìn)制對象。

MutipleInputs

一個MapReduce作業(yè)可能由多個輸入文件,但所有文件都由同一個InputFormat和同一個mapper來處理。但是數(shù)據(jù)格式卻有所不同,需要對不同的數(shù)據(jù)集進(jìn)行連接操作。可以使用MutipleInputs類處理

DBInputFormat

DBInputFormat用于使用JDBC從關(guān)系數(shù)據(jù)庫中讀取數(shù)據(jù)。需要注意在數(shù)據(jù)庫中運行太多mapper讀取數(shù)據(jù),可能會使數(shù)據(jù)庫受不了,所以一般使用DBInputFormat加載少量數(shù)據(jù)。可以現(xiàn)將數(shù)據(jù)導(dǎo)入到HDFS中,一般將關(guān)系性數(shù)據(jù)庫中數(shù)據(jù)導(dǎo)入到HDFS中可以使用Sqoop

輸出格式

TextOutputFormat

默認(rèn)的輸出模式TextOutputFormat,每條記錄寫為一行。鍵和值是任意的,因為TextOutputFormat都要將其toString()轉(zhuǎn)換為字符串。鍵值默認(rèn)使用制表符分割,可以使用mapreduce.output.textoutputformat.separator屬性改變分割符

SequenceFileOutputFormat

將輸出寫為一個順序文件,當(dāng)輸出需要作為后續(xù)的MapReduce輸入的時候,這種輸出非常合適,因為它格式緊湊,容易被壓縮。

SequenceFileAsBinaryOutputFormat

SequenceFileAsBinaryOutputForamt與SequenceFileAsBinaryInputFormat對應(yīng),將輸出的鍵和值作為二進(jìn)制格式寫到SequenceFile容器中。

MultipleOutputFormat

有時候可能需要將每個reduce輸出多個文件,可以使用MutltipleOutputFormat。

LazyOutputFormat

延遲輸出,他是封裝輸出格式,可以保證指定分區(qū)***條記錄輸出時才真正創(chuàng)建文件。

責(zé)任編輯:武曉燕 來源: oschina博客
相關(guān)推薦

2021-03-02 21:52:48

Hive數(shù)據(jù)類型

2022-06-05 14:57:35

發(fā)送釘釘運維架構(gòu)

2024-04-11 13:02:10

Rust數(shù)據(jù)類型

2024-04-15 13:13:04

PythonJSON

2021-04-16 07:19:04

Hive數(shù)據(jù)類型Hql

2011-05-26 13:54:04

Json

2021-03-24 09:37:41

數(shù)據(jù)類型數(shù)據(jù)分析數(shù)據(jù)的分類

2018-09-18 11:16:11

MapReduceXML大數(shù)據(jù)

2010-08-10 17:17:59

2013-09-03 13:01:01

團隊管理團隊

2019-08-19 11:07:41

SQL數(shù)據(jù)庫優(yōu)化

2011-03-11 11:12:47

eXtremeDB嵌入式

2014-08-12 10:15:42

數(shù)據(jù)格式JSONXML

2011-09-02 14:09:47

OracleDML命令

2024-12-09 12:00:00

Python編程數(shù)據(jù)類型轉(zhuǎn)換

2022-10-27 20:42:04

JavaScripJava編程語言

2011-05-26 14:27:56

java

2009-09-24 17:11:53

Hibernate處理

2019-08-12 11:40:48

數(shù)據(jù)庫SQLite3數(shù)據(jù)類型

2016-08-25 08:57:21

RDBMS數(shù)據(jù)NoSQL
點贊
收藏

51CTO技術(shù)棧公眾號

国产一区欧美二区三区| 在线午夜精品自拍| 黄色一级在线视频| 青青视频在线观| 日本大胆欧美人术艺术动态| 久久精品99无色码中文字幕 | 性生交大片免费全黄| 国产精品久久久久久久久久久久久久久 | 成人动漫视频在线观看完整版| 久久综合久久鬼| 自拍亚洲一区| 欧美一级搡bbbb搡bbbb| 北条麻妃在线视频观看| 午夜免费福利在线观看| 成人免费视频一区二区| 国产精品久久久久影院日本| 欧美片一区二区| 深爱激情久久| 亚洲第一精品久久忘忧草社区| 人妻丰满熟妇av无码区app| 黄色网页在线免费看| 91丨九色丨尤物| 亚洲精品欧美极品| 免费看毛片网站| 欧美三级乱码| 久久久av亚洲男天堂| 亚洲欧美视频在线播放| 国产一区二区| 欧美视频一区二区在线观看| 久久久久久久久久久视频| 黄色精品在线观看| 久久久精品免费免费| 国产女主播一区二区| 国产乱人乱偷精品视频| 日本美女视频一区二区| 国产自产v一区二区三区c| 国产嫩草影院久久久久| 国产精品夜夜夜一区二区三区尤| 91精品国产乱码久久久久| 欧美一级久久| 午夜精品视频在线| 欧美精品色哟哟| 99久久久久国产精品| 一区二区三区四区视频| 深爱五月激情网| 欧美男男freegayvideosroom| 欧美成人一区二区三区| 天堂av.com| 日韩综合av| 欧美日韩一级片网站| 国产激情在线观看视频| 户外露出一区二区三区| 一本大道综合伊人精品热热| 日本www在线视频| heyzo高清在线| 亚洲成a人在线观看| av磁力番号网| av在线播放国产| 亚洲女同一区二区| 午夜啪啪福利视频| www在线免费观看视频| 国产精品家庭影院| 国产麻豆电影在线观看| av毛片在线免费看| 亚洲一区二区精品久久av| 日本天堂免费a| 国产乱码在线| 亚洲国产日韩av| 国产精品无码人妻一区二区在线| 国产社区精品视频| 色哟哟精品一区| 蜜臀一区二区三区精品免费视频 | 在线看片不卡| 欧美精品免费在线观看| 国产一级片播放| a91a精品视频在线观看| 国产成人精品视| 中文字幕自拍偷拍| 国产精品亚洲第一区在线暖暖韩国| 99精品国产高清在线观看| 黑人精品一区二区| 成人高清免费在线| 精品亚洲国产成人av制服丝袜| 成人黄色免费网站在线观看| 国产成人免费看一级大黄| 成人av网站大全| 欧美一区观看| 国产日产一区二区| 午夜精品福利在线| 高清一区二区视频| 国产精品一区二区精品| 亚洲精品大尺度| 国产日韩精品中文字无码| 欧美日韩免费观看一区=区三区| 午夜精品在线观看| 日韩国产成人在线| 国产乱子轮精品视频| 久久精品国产一区二区三区日韩 | 欧洲精品99毛片免费高清观看| 亚洲电影在线看| 久久久国产一级片| 亚洲午夜在线| 国产精品午夜一区二区欲梦| 亚洲国产综合一区| 国产精品免费视频网站| 国产www免费| 日日夜夜一区| 亚洲人成在线观看网站高清| 男女性高潮免费网站| 亚欧成人精品| 成人免费91在线看| 一区在线电影| 99久久国产免费| 久久综合色一综合色88| 中文字幕人成一区| 综合日韩av| 日韩视频在线一区二区| 成年人免费观看视频网站| 中文字幕乱码亚洲无线精品一区 | 波多野结衣绝顶大高潮| 国产99久久久国产精品潘金网站| 天堂资源在线亚洲资源| 丁香花在线电影| 在线播放亚洲一区| 久久久视频6r| 国产亚洲成人一区| 国产精品久久国产三级国电话系列| jizz在线免费观看| 一本一本久久a久久精品综合麻豆| 欧美xxxx黑人| 欧美激情黄色片| 国产精品久久婷婷六月丁香| 亚洲av成人精品毛片| 亚洲小说欧美激情另类| 色男人天堂av| www.蜜臀av.com| 国产伦精品一区二区三区视频| 久久综合久中文字幕青草| 成人a v视频| 91麻豆成人久久精品二区三区| 成年在线观看视频| 国产在线一区不卡| 久久精品99无色码中文字幕| 涩涩视频在线观看| 国产欧美一区二区精品久导航 | 国产麻豆午夜三级精品| 色播五月综合| 日本少妇一区| 一本大道亚洲视频| 性色av一区二区三区四区| 91在线观看污| aa在线免费观看| 免费成人高清在线视频theav| 久久久视频在线| 欧美视频一二区| 亚洲国产欧美一区二区三区丁香婷| 性一交一黄一片| 欧美午夜不卡| 国产精品午夜av在线| 看黄在线观看| 亚洲性无码av在线| 免费在线不卡av| 一区视频在线播放| 精品国产乱码久久久久久1区二区| 天天天综合网| 动漫美女被爆操久久久| 成人三级高清视频在线看| 精品国产一区二区三区久久影院| 国产大片中文字幕在线观看| 99免费精品视频| 少妇高清精品毛片在线视频| 欧美日韩国产高清电影| 91免费看国产| 丁香花在线影院| 亚洲男人天堂网站| 狼狼综合久久久久综合网| 精品国产免费无码久久久| 亚洲精品免费在线播放| 日本一卡二卡在线| 三级在线观看一区二区 | 午夜免费一区| 风间由美一区二区三区| 最新日韩精品| 北条麻妃久久精品| 免费a级片在线观看| 色综合久久99| 特级片在线观看| 久久久久久一二三区| 免费在线观看污网站| 亚洲国产精品第一区二区| 欧美精品尤物在线| 国产高清亚洲| 欧美亚洲第一区| 黄黄的网站在线观看| 亚洲国产一区二区三区四区| 国产又粗又猛又爽又| 一区二区在线看| 国产精品免费无码| 国产馆精品极品| 欧美亚洲日本在线观看| 狠久久av成人天堂| 欧洲精品码一区二区三区免费看| 国产电影一区| 国产精品久久久久久超碰| 最新超碰在线| 最近的2019中文字幕免费一页 | 国产一区二区三区久久精品| 亚洲高清视频在线播放| 在线观看日韩一区| 国产第一页在线播放| 国产精品第13页| 黄色国产在线观看| 国产不卡视频在线播放| 搡女人真爽免费午夜网站| 国语自产精品视频在线看8查询8| 日韩偷拍一区二区| 精品av导航| 成人欧美视频在线| 韩国三级大全久久网站| 国产精品成av人在线视午夜片| 毛片网站在线看| www国产精品视频| 国产在线观看黄| 精品无人国产偷自产在线| 国产av一区二区三区| 欧美私模裸体表演在线观看| 91精品国产高清一区二区三密臀| 亚洲一区二区三区国产| 美女福利视频在线观看| 中文字幕一区视频| 日本成人午夜影院| 91老司机福利 在线| 欧美日本韩国一区二区三区视频| 少妇真人直播免费视频| 成人小视频在线| 被黑人猛躁10次高潮视频| 久久91精品久久久久久秒播| 高清一区二区视频| 老司机午夜免费精品视频| 800av在线免费观看| 女同性一区二区三区人了人一| 一区二区视频在线免费| 欧美亚洲国产一区| 日韩在线第一区| 精品国产视频| 日韩欧美激情一区二区| 国产伦一区二区三区| 日韩欧美在线电影| 精品国产一区二区三区久久久樱花| 牛人盗摄一区二区三区视频| 亚洲免费福利一区| 欧美亚洲精品日韩| 神马影视一区二区| 亚洲激情啪啪| 欧美1级片网站| 国产高清精品软男同| 亚洲国产老妈| 免费观看亚洲视频| 在线播放日韩| 日本wwww视频| 日韩中文字幕av电影| 免费看污污网站| 国产资源在线一区| 中国特级黄色片| 91丨九色porny丨蝌蚪| 国产精品815.cc红桃| 国产女人18水真多18精品一级做| 欧美丰满老妇熟乱xxxxyyy| 国产精品国产三级国产专播品爱网 | 日韩欧美一区二| 久久夜色精品| 亚洲美女性囗交| 国产传媒一区在线| 四虎永久免费观看| 91视频免费观看| 久久免费手机视频| 亚洲综合成人在线| 中文字字幕在线中文| 精品视频在线免费观看| 国产有码在线观看| 精品国产一区二区国模嫣然| 婷婷在线免费观看| 中文在线资源观看视频网站免费不卡 | 波多野结衣绝顶大高潮| 在线观看91av| 天堂在线视频免费| 色偷偷亚洲男人天堂| 最新国产在线拍揄自揄视频| 欧美一乱一性一交一视频| 久久女人天堂| 国内外成人免费视频| 日本三级视频在线| www.欧美.com| 一级在线观看视频| 亚洲福利一二三区| 日韩欧美国产另类| 精品国内二区三区| av在线播放免费| 国内成人精品视频| 欧美激情三区| 久久久一本精品99久久精品66| 久久免费av| 干日本少妇首页| 国产乱人伦偷精品视频免下载 | 中文字幕国产传媒| 国产成人免费视频网站高清观看视频 | 成人污版视频| 欧美日韩大片一区二区三区| 午夜久久黄色| the porn av| 99精品欧美一区二区三区小说| 日本一级特级毛片视频| 在线观看亚洲精品视频| 手机看片福利在线| 欧美成人免费在线观看| 日本精品网站| 精品日本一区二区| 午夜精品国产| theporn国产精品| 欧美韩国一区二区| 羞羞影院体验区| 欧美va亚洲va香蕉在线| 麻豆影视在线观看_| 日韩美女视频免费看| 精品国内亚洲2022精品成人| 国产精品久久久影院| 激情都市一区二区| 日本美女bbw| 欧美亚洲精品一区| 可以免费看污视频的网站在线| 久久青草福利网站| 98视频精品全部国产| 玖玖精品在线视频| 国产一区在线不卡| 来吧亚洲综合网| 欧美日韩一二三| 91女主播在线观看| 国产成人涩涩涩视频在线观看| 在线一级成人| 日韩免费毛片视频| 久久久综合网站| 国产免费av一区| 亚洲美女激情视频| 日本电影欧美片| 欧美亚洲另类久久综合| 丝袜脚交一区二区| 午夜在线观看一区| 91精品1区2区| yw在线观看| 国产在线精品播放| 天堂网在线观看国产精品| 在线观看日本www| 亚洲精品一二三四区| 午夜精品久久久久久久99老熟妇| 欧美日韩成人黄色| 激情小说一区| 黄色片久久久久| 欧美激情综合五月色丁香小说| 涩涩视频在线观看| 精品一区二区三区免费毛片爱| 97碰在线视频| 波多野结衣一区二区三区| 欧美不卡视频在线观看| 亚洲精品有码在线| se69色成人网wwwsex| 中文精品视频一区二区在线观看| 国产真实乱对白精彩久久| 青草草在线视频| 亚洲精品久久久久久久久久久久久 | 精品日本12videosex| 日本高清久久久| 亚洲一二三专区| 黄色视屏网站在线免费观看| 国产精品视频xxx| 欧美久久综合| 欧美成人午夜精品免费| 欧美日韩电影在线| 污片视频在线免费观看| 久久久影院一区二区三区| 免费视频最近日韩| 麻豆视频在线观看| 亚洲片在线资源| 亚洲成人a级片| www在线观看免费| 国产精品日韩精品欧美在线| 午夜精品久久久久久久第一页按摩 | 精品久久久久久久久久久久久久久| 国产剧情av在线播放| 亚洲欧美电影在线观看| 国产99久久久精品| 波多野结衣在线电影| 欧美精品xxx| 日韩精品电影| 亚洲成年人在线观看| 欧美色区777第一页| 色女人在线视频| 无遮挡亚洲一区| 91亚洲精品久久久蜜桃| 国产精品爽爽久久| 欧美自拍大量在线观看|