• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Sqoop 的異構(gòu)環(huán)境數(shù)據(jù)遷移方法研究

    2022-09-14 06:56:40王正迅
    關(guān)鍵詞:數(shù)據(jù)類型字段數(shù)據(jù)庫(kù)

    ◎王正迅

    引言

    基于傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的穩(wěn)定性,目前還有很多企業(yè)將數(shù)據(jù)存儲(chǔ)在關(guān)系型數(shù)據(jù)庫(kù)中,但是關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)模型較簡(jiǎn)單,不適合表達(dá)復(fù)雜的數(shù)據(jù)關(guān)系,在處理大量數(shù)據(jù)、半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù),以及系統(tǒng)容錯(cuò)和系統(tǒng)擴(kuò)展性方面受到了一定的限制,Hadoop 下的系列工具則有較大優(yōu)勢(shì),早期由于工具的缺乏,Hadoop 集群與傳統(tǒng)數(shù)據(jù)庫(kù)之間的數(shù)據(jù)傳輸非常困難?;谶@些方面的考慮,需要一個(gè)能在傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)和Hadoop 之間進(jìn)行數(shù)據(jù)遷移的工具,Sqoop 應(yīng)運(yùn)而生,Apache 提供的Sqoop 工具,能實(shí)現(xiàn)自動(dòng)化數(shù)據(jù)遷移,依托于數(shù)據(jù)庫(kù)相關(guān)的schema 描述信息,遷移的過(guò)程則使用MapReduce(后面都簡(jiǎn)寫(xiě)為MR)來(lái)進(jìn)行。Sqoop 作為一個(gè)跨平臺(tái)抽取和輸出數(shù)據(jù)的工具,在關(guān)系型數(shù)據(jù)庫(kù)(MySQL、O-ralce 等)和大數(shù)據(jù)平臺(tái)(HDFS、Hive、HBase)之間常用。作為ETL 過(guò)程中重要的一環(huán),加載作業(yè)的性能也是需要關(guān)注和優(yōu)化的。本文將主要闡明如何在異構(gòu)環(huán)境中使用Sqoop 方法進(jìn)行數(shù)據(jù)遷移。

    一、認(rèn)識(shí)Sqoop

    Sqoop 是一款用于在Hadoop 和關(guān)系型數(shù)據(jù)庫(kù)之間高效遷移大批量數(shù)據(jù)的開(kāi)源工具,類似于其他ETL 工具,Sqoop 使用元數(shù)據(jù)模型來(lái)判斷數(shù)據(jù)類型,并在數(shù)據(jù)從數(shù)據(jù)源轉(zhuǎn)移到Hadoop 時(shí)確保傳輸安全的數(shù)據(jù)處理,專為大數(shù)據(jù)批量傳輸設(shè)計(jì),能夠分割數(shù)據(jù)集并創(chuàng)建Maptask 任務(wù)來(lái)處理每個(gè)區(qū)塊。以RDBMS 和HDFS 之間數(shù)據(jù)傳輸為例,Sqoop 借助于MR 導(dǎo)入和導(dǎo)出數(shù)據(jù),用戶可以輕松地以命令行模式從RDBMS 如MySQL 或 Oracle 中導(dǎo)入數(shù)據(jù)到 HDFS 中,通過(guò) Hadoop 的MR 模型計(jì)算完之后,將結(jié)果導(dǎo)回RDBMS,Sqoop 能夠自動(dòng)完成整個(gè)過(guò)程中的大部分,并提供容錯(cuò)和并行化操作。

    二、Sqoop 工作機(jī)制

    Sqoop 本質(zhì)就是遷移數(shù)據(jù),用戶在使用Sqoop 在異構(gòu)環(huán)境間遷移數(shù)據(jù)時(shí),Sqoop Client 提供了CLI 和瀏覽器兩種方式提交請(qǐng)求,然后Sqoop Server 收到請(qǐng)求后,授權(quán)MR 執(zhí)行。這個(gè)過(guò)程它高度依賴Hadoop 并行導(dǎo)入數(shù)據(jù),充分利用了MR 的并行特點(diǎn),以批處理的方式加快數(shù)據(jù)的傳輸,同時(shí)也借助MR 實(shí)現(xiàn)了容錯(cuò)。

    1.從關(guān)系型數(shù)據(jù)庫(kù)導(dǎo)入數(shù)據(jù)到hadoop 上。

    Sqoop 把關(guān)系型數(shù)據(jù)庫(kù)(以mysql 為例)的數(shù)據(jù)導(dǎo)人到HDFS 中,主要分為兩步:一是得到元數(shù)據(jù)(mysql 數(shù)據(jù)庫(kù)中的數(shù)據(jù)),二是提交Map。在這個(gè)過(guò)程中,sqoop 會(huì)通過(guò)jdbc來(lái)獲取需要的數(shù)據(jù)庫(kù)的元數(shù)據(jù)信息,例如:導(dǎo)入的表的列名,數(shù)據(jù)類型。這些數(shù)據(jù)庫(kù)的數(shù)據(jù)類型會(huì)被映射成為java 的數(shù)據(jù)類型,根據(jù)這些信息,sqoop 會(huì)生成一個(gè)與表名相同的類,用來(lái)完成序列化工作,最后使用Java 類進(jìn)行反序列化,MR并行寫(xiě)數(shù)據(jù)到Hadoop 中,從而保存表中的每一行記錄。在導(dǎo)入數(shù)據(jù)時(shí),如果不想取出全部數(shù)據(jù),可以通過(guò)類似于where 的語(yǔ)句進(jìn)行限制。

    圖1 Sqoop 數(shù)據(jù)導(dǎo)入機(jī)制

    2.從Hadoop 上導(dǎo)出數(shù)據(jù)到關(guān)系型數(shù)據(jù)庫(kù)。

    Sqoop 的導(dǎo)出通常是將 HDFS、HBase、Hive 中的數(shù)據(jù)導(dǎo)出到關(guān)系型數(shù)據(jù)庫(kù)中,關(guān)系型數(shù)據(jù)庫(kù)中的表必須提前創(chuàng)建好。底層方面,同樣是通過(guò)jdbc 讀取HDFS/HBase/Hive 數(shù)據(jù),生成Java 類(這個(gè)類主要作用是解析文本中的數(shù)據(jù)),用于序列化,最后export 程序啟動(dòng),通過(guò)Java 類反序列化,同時(shí)啟動(dòng)多個(gè)Map 將相應(yīng)值插入表中。

    圖2 Sqoop 數(shù)據(jù)導(dǎo)出機(jī)制

    三、Sqoop 數(shù)據(jù)遷移方法介紹

    1.Sqoop 數(shù)據(jù)導(dǎo)入。

    數(shù)據(jù)導(dǎo)入分全量導(dǎo)入和增量導(dǎo)入。

    (1)全量導(dǎo)入數(shù)據(jù)。全量數(shù)據(jù)導(dǎo)入就是一次性將所有需要導(dǎo)入的數(shù)據(jù),從關(guān)系型數(shù)據(jù)庫(kù)一次性地導(dǎo)入到HDFS 中(也可以是HBase、Hive 等)。全量導(dǎo)入形式使用場(chǎng)景為一次性離線分析場(chǎng)景。用sqoop import 命令,具體如下:

    (2)導(dǎo)入數(shù)據(jù)庫(kù)中的部分?jǐn)?shù)據(jù)。導(dǎo)入部分?jǐn)?shù)據(jù)可以在行與列的選取上添加參數(shù)完成,列選取上添加一個(gè)--columns參數(shù),指定數(shù)據(jù)庫(kù)中需要導(dǎo)入的列,如添加--columns id,name,age,sex;行選取上添加 --where 參數(shù),增加 where 條件篩選滿足條件的行,如--where "age >= 20" ;還可以使--query 參數(shù)查詢篩選需要導(dǎo)入的數(shù)據(jù),同時(shí)實(shí)現(xiàn)行、列的選取,如 --query"select id,name,age,sex from t_user_info where age>=20 and$CONDITIONS"。

    (3)增量導(dǎo)入數(shù)據(jù)。在實(shí)際生產(chǎn)環(huán)境中,系統(tǒng)可能會(huì)定期從與業(yè)務(wù)相關(guān)的關(guān)系型數(shù)據(jù)庫(kù)向Hadoop 導(dǎo)入數(shù)據(jù),導(dǎo)入數(shù)據(jù)倉(cāng)庫(kù)后進(jìn)行后續(xù)離線分析。數(shù)據(jù)量比較大,有的前期數(shù)據(jù)已經(jīng)被用于項(xiàng)目分析了,我們此時(shí)不可能再將所有數(shù)據(jù)重新導(dǎo)一遍,此時(shí)我們就需要增量數(shù)據(jù)導(dǎo)入這一模式了。增量數(shù)據(jù)導(dǎo)入分兩種,一是基于遞增列的增量數(shù)據(jù)導(dǎo)入(Append方式)。二是基于時(shí)間列的增量數(shù)據(jù)導(dǎo)入(LastModified 方式)。在--incremental 參數(shù)后通過(guò)指定Append 方式或LastModified 方式。

    2.Sqoop 數(shù)據(jù)導(dǎo)出。

    export 是HDFS 里的文件導(dǎo)出到關(guān)系型數(shù)據(jù)庫(kù)的工具,不能直接從hive、hbase 導(dǎo)出數(shù)據(jù)。如果要把hive 表數(shù)據(jù)導(dǎo)出到關(guān)系型數(shù)據(jù)庫(kù),需先把hive 表通過(guò)查詢寫(xiě)入到一個(gè)暫存表,臨時(shí)用文本格式,然后再?gòu)脑摃捍姹砟夸浝飳?dǎo)出數(shù)據(jù)。

    執(zhí)行數(shù)據(jù)導(dǎo)出前,數(shù)據(jù)庫(kù)中必須已經(jīng)存在要導(dǎo)入的目標(biāo)表,默認(rèn)操作是從將文件中的數(shù)據(jù)使用INSERT 語(yǔ)句插入到表中,也可選擇更新模式(Sqoop 將生成UPDATE 替換數(shù)據(jù)庫(kù)中現(xiàn)有記錄的語(yǔ)句)或調(diào)用模式(Sqoop 將為每條記錄創(chuàng)建一個(gè)存儲(chǔ)過(guò)程調(diào)用)。

    默認(rèn)情況下,sqoop export 將每行輸入記錄轉(zhuǎn)換成一條INSERT 語(yǔ)句,添加到目標(biāo)數(shù)據(jù)庫(kù)表中。如果數(shù)據(jù)庫(kù)中的表具有約束條件(例如,其值必須唯一的主鍵列)并且已有數(shù)據(jù)存在,則必須注意避免插入違反這些約束條件的記錄。如果INSERT 語(yǔ)句失敗,導(dǎo)出過(guò)程將失敗。此模式主要用于將記錄導(dǎo)出到可以接收這些結(jié)果的空表中。通常用于全表數(shù)據(jù)導(dǎo)出。使用如下命令可完成:

    更新模式導(dǎo)出,僅僅更新已存在的數(shù)據(jù)記錄,不會(huì)插入新記錄,該模式用于更新源表與目標(biāo)表中數(shù)據(jù)的不一致,即在不一致時(shí),將源表中的數(shù)據(jù)遷移至目標(biāo)表(如MySQL、Oracle 等的目標(biāo)表中),這種不一致是指一條記錄中存在的不一致,比如HDFS 表和MySQL 中都有一個(gè)id=1 的記錄,但是其中一個(gè)字段的取值不同,則該模式會(huì)將這種忽視差異。對(duì)于“你有我無(wú)”的記錄則不做處理,通過(guò)指定update-key 并在—update-mode 參數(shù)后指定是updateonly 模式。調(diào)用模式導(dǎo)出,會(huì)更新已存在的數(shù)據(jù)記錄,同時(shí)插入一個(gè)新記錄,實(shí)質(zhì)上是插入一個(gè)update+insert 的操作,同樣是通過(guò)指定update-key 并在—update-mode 參數(shù)后指定是allowinsert模式。

    四、Sqoop 常見(jiàn)問(wèn)題及解決辦法

    Sqoop 作為一種重要的數(shù)據(jù)遷移工具,在使用過(guò)程中需要遵守?cái)?shù)據(jù)庫(kù)約束、數(shù)據(jù)庫(kù)連接機(jī)制,考慮空值、并行度、分隔符等原因?qū)е碌膫鬏斄袛?shù)和表的列數(shù)不一致等問(wèn)題。

    1.空值問(wèn)題。

    空值問(wèn)題常見(jiàn)于Hive 與MySQL 數(shù)據(jù)遷移過(guò)程中發(fā)生。Hive 中的 Null 在底層是以“N”來(lái)存儲(chǔ),而 MySQL 中的 Null在底層就是Null,這就導(dǎo)致了兩邊進(jìn)行數(shù)據(jù)遷移時(shí)存儲(chǔ)不一致問(wèn)題,Sqoop 要求在數(shù)據(jù)遷移的時(shí)候嚴(yán)格保證兩端的數(shù)據(jù)格式、數(shù)據(jù)類型一致,否則會(huì)帶來(lái)異常。

    為了保證數(shù)據(jù)兩端的一致性,數(shù)據(jù)遷移的過(guò)程中遇到null-string,null-non-string 數(shù)據(jù)都轉(zhuǎn)化成指定的類型,通常指定成"N"。依賴自身參數(shù)在導(dǎo)入數(shù)據(jù)時(shí)采用--null-string“\N”和--null-non-string“\N”,在導(dǎo)出數(shù)據(jù)時(shí)采用--input-null-string“\N”和 --input-null-non-string“\N”兩個(gè)參數(shù),在使用這些參數(shù)過(guò)程中,需要正確地將值N 轉(zhuǎn)義到\N。

    2.數(shù)據(jù)一致性問(wèn)題。

    (1)任務(wù)失敗導(dǎo)致數(shù)據(jù)不一致。由于Sqoop 將導(dǎo)出過(guò)程分解為多個(gè)事務(wù),因此失敗的導(dǎo)出作業(yè)可能會(huì)導(dǎo)致將部分?jǐn)?shù)據(jù)提交到數(shù)據(jù)庫(kù)。在某些情況下,這可能會(huì)導(dǎo)致后續(xù)作業(yè)由于插入沖突而失敗,或者在其他情況下導(dǎo)致重復(fù)數(shù)據(jù)。如這樣一個(gè)場(chǎng)景:export 到 Mysql 時(shí),使用 6個(gè) Map 任務(wù),過(guò)程中有3個(gè)任務(wù)失敗,那此時(shí)MySQL 中存儲(chǔ)了另外三個(gè)Map任務(wù)導(dǎo)入的數(shù)據(jù),此時(shí)會(huì)生成一個(gè)不完整的報(bào)表數(shù)據(jù)。繼續(xù)調(diào)試問(wèn)題并最終將全部數(shù)據(jù)正確的導(dǎo)入MySQL,會(huì)再次生成一個(gè)報(bào)表數(shù)據(jù),而這個(gè)報(bào)表數(shù)據(jù)與之前的報(bào)表數(shù)據(jù)是不一致,這在生產(chǎn)環(huán)境是不允許的。這種情況下,可以通過(guò)--staging-table 參數(shù)指定一個(gè)staging 表來(lái)克服這個(gè)問(wèn)題,指定的這個(gè)staging 表在單個(gè)事務(wù)中,暫存數(shù)據(jù),等到事務(wù)完全處理完畢再移動(dòng)到目標(biāo)表。為了使用暫存功能,必須在運(yùn)行導(dǎo)出作業(yè)之前創(chuàng)建暫存表,該表必須在結(jié)構(gòu)上與目標(biāo)表相同,這個(gè)表應(yīng)該在導(dǎo)出作業(yè)運(yùn)行之前為空,所以需要--clear-staging-table 這個(gè)參數(shù)配合起來(lái)使用。

    (2)分隔符問(wèn)題導(dǎo)致數(shù)據(jù)不一致。Sqoop 默認(rèn)字段與字段之間是用“,”分隔開(kāi),Hive 默認(rèn)的列分隔符是 ^A(001),行與行之間的分隔符是“ ”,當(dāng)然,在創(chuàng)建這些表(包括MySQL表)的時(shí)候也可以自己指定分隔符。在數(shù)據(jù)遷移過(guò)程中,由于分隔符的不一致會(huì)導(dǎo)致數(shù)據(jù)遷移失敗,由于導(dǎo)入的數(shù)據(jù)中有' ',hive 會(huì)認(rèn)為一行已經(jīng)結(jié)束,后面的數(shù)據(jù)被分割成下一行,也會(huì)導(dǎo)致數(shù)據(jù)不一致。這時(shí)可以使用--lines-terminated-by和--fields-terminated-by 這兩個(gè)參數(shù)來(lái)自定義行分隔符和列分隔符進(jìn)行解決。但是hive 只支持' '作為行分隔符,所以在關(guān)系型數(shù)據(jù)庫(kù)與Hive 進(jìn)行數(shù)據(jù)遷移時(shí),還需要加上--hive-delims-replacement或 --hive-drop-import-delims 這兩個(gè)參數(shù)把導(dǎo)入數(shù)據(jù)中包含的hive 默認(rèn)的分隔符去掉(這兩個(gè)參數(shù)項(xiàng)不能同時(shí)使用)。

    --hive-delims-replacement :是將分隔符中的/0x01 和 /r/n 替換成

    --hive-drop-import-delims:將分隔符中的/0x01 和/r/n去掉

    3.數(shù)據(jù)傾斜問(wèn)題。

    在生產(chǎn)環(huán)境中,由于數(shù)據(jù)量巨大,數(shù)據(jù)結(jié)構(gòu)復(fù)雜,Sqoop導(dǎo)入數(shù)據(jù)報(bào)內(nèi)存溢出以及抽數(shù)時(shí)間過(guò)長(zhǎng),日志顯示有個(gè)別的reduce 執(zhí)行時(shí)間過(guò)長(zhǎng),卡在99%那個(gè)位置,例如有25個(gè)Map 中有24個(gè)Map 是在20 秒內(nèi)執(zhí)行完成,只有1個(gè)Map用了6 分多鐘,這種Map 分布不均勻,就是數(shù)據(jù)傾斜現(xiàn)象。導(dǎo)致數(shù)據(jù)傾斜的原因有可能是數(shù)據(jù)本身就不均勻,或是分隔符問(wèn)題,或是數(shù)據(jù)類型不一致等。這時(shí)需要設(shè)置--split-by、--num-Mappers 和--split-Mappers 這三個(gè)參數(shù)。

    在import 時(shí),指定--split-by 參數(shù),Sqoop 根據(jù)不同的split-by 參數(shù)值來(lái)進(jìn)行切分,然后將切分出來(lái)的區(qū)域分配到不同Map 中。每個(gè)Map 中再處理數(shù)據(jù)庫(kù)中獲取的一行一行的值,寫(xiě)入到HDFS 中。split-by 根據(jù)不同的參數(shù)類型有不同的切分方法,最好使用較簡(jiǎn)單的int 型。

    通過(guò)設(shè)置Map 的個(gè)數(shù)來(lái)提高吞吐量,-num-Mappers后面設(shè)置的Maptask 數(shù)目大于1 的話,那么-split-by 后面必須跟字段,因?yàn)?num-Mappers 后面要是1 的話,那么-split-Mappers 后面跟不跟字段都沒(méi)有意義,因?yàn)?,他只?huì)啟動(dòng)一個(gè)Maptask 進(jìn)行數(shù)據(jù)處理。一般來(lái)說(shuō)數(shù)據(jù)量與Map 的數(shù)量是相關(guān)的,一般建議在500w 以下使4個(gè)Map 即可,如果數(shù)據(jù)量在500w 以上可以使用8個(gè)Map,Map 數(shù)量太多會(huì)對(duì)數(shù)據(jù)庫(kù)增加運(yùn)壓力,造成其他場(chǎng)景使?性能降低。在使用并行度的時(shí)候需要了解主鍵的分布情況是否是有必要的。

    五、結(jié)語(yǔ)

    隨著大數(shù)據(jù)、云計(jì)算、物聯(lián)網(wǎng)的不斷發(fā)展,信息系統(tǒng)產(chǎn)生的數(shù)據(jù)規(guī)模與日俱增,以Hadoop 平臺(tái)為代表的海量數(shù)據(jù)處理平臺(tái)通過(guò)對(duì)海量數(shù)據(jù)進(jìn)行并行處理成為一種有效的解決方案,基于Sqoop 實(shí)現(xiàn)的在關(guān)系型數(shù)據(jù)庫(kù)與Hadoop 平臺(tái)之間進(jìn)行數(shù)據(jù)遷移,它可以高效、可靠地完成數(shù)據(jù)傳輸任務(wù),是數(shù)據(jù)分析處理及挖掘前的重要一環(huán)。本文從Sqoop 工作機(jī)制、遷移方法介紹、Sqoop 常見(jiàn)問(wèn)題及解決辦法等方面進(jìn)行分析,解決了Sqoop 使用過(guò)程中的簡(jiǎn)單問(wèn)題,在實(shí)際使用過(guò)程中,還需要結(jié)合項(xiàng)目實(shí)際需求對(duì)Sqoop 做更進(jìn)一步的優(yōu)化。

    猜你喜歡
    數(shù)據(jù)類型字段數(shù)據(jù)庫(kù)
    圖書(shū)館中文圖書(shū)編目外包數(shù)據(jù)質(zhì)量控制分析
    詳談Java中的基本數(shù)據(jù)類型與引用數(shù)據(jù)類型
    如何理解數(shù)據(jù)結(jié)構(gòu)中的抽象數(shù)據(jù)類型
    數(shù)據(jù)庫(kù)
    數(shù)據(jù)庫(kù)
    數(shù)據(jù)庫(kù)
    數(shù)據(jù)庫(kù)
    CNMARC304字段和314字段責(zé)任附注方式解析
    無(wú)正題名文獻(xiàn)著錄方法評(píng)述
    關(guān)于CNMARC的3--字段改革的必要性與可行性研究
    亚洲欧美日韩东京热| 久热这里只有精品99| 精品亚洲乱码少妇综合久久| 亚洲精品乱码久久久v下载方式| 国产久久久一区二区三区| 精品亚洲乱码少妇综合久久| 老师上课跳d突然被开到最大视频| 久久精品熟女亚洲av麻豆精品| 午夜视频国产福利| 亚洲国产日韩一区二区| 大陆偷拍与自拍| 国产成人精品久久久久久| 免费人妻精品一区二区三区视频| 国产一区二区在线观看日韩| 亚洲av成人精品一二三区| 精品久久国产蜜桃| 青青草视频在线视频观看| 国产高清国产精品国产三级 | 亚洲三级黄色毛片| 午夜免费男女啪啪视频观看| 黑人猛操日本美女一级片| 色吧在线观看| 日韩大片免费观看网站| 激情五月婷婷亚洲| 国精品久久久久久国模美| 春色校园在线视频观看| 成年人午夜在线观看视频| 男人和女人高潮做爰伦理| 简卡轻食公司| 亚洲国产精品成人久久小说| 在线免费十八禁| 成年人午夜在线观看视频| 国产中年淑女户外野战色| 99热这里只有是精品在线观看| 国产精品久久久久久精品古装| 女的被弄到高潮叫床怎么办| 伊人久久国产一区二区| 国产成人a区在线观看| 一级毛片aaaaaa免费看小| 日韩欧美一区视频在线观看 | 日韩成人伦理影院| 成人毛片a级毛片在线播放| 国产精品一及| 男人和女人高潮做爰伦理| 久久久a久久爽久久v久久| 亚洲成色77777| 亚洲欧美精品专区久久| a级毛片免费高清观看在线播放| 99久国产av精品国产电影| 亚洲精品乱码久久久v下载方式| 国产欧美亚洲国产| 久久99热这里只有精品18| 国产av国产精品国产| 妹子高潮喷水视频| 免费大片黄手机在线观看| 亚洲熟女精品中文字幕| 国产av国产精品国产| 蜜桃亚洲精品一区二区三区| 久久鲁丝午夜福利片| 免费人妻精品一区二区三区视频| av在线播放精品| 国产精品久久久久久精品古装| 国产伦理片在线播放av一区| freevideosex欧美| 久久人人爽av亚洲精品天堂 | 久久99热这里只有精品18| 美女福利国产在线 | 只有这里有精品99| 丰满迷人的少妇在线观看| 少妇 在线观看| 久久久精品免费免费高清| 边亲边吃奶的免费视频| 激情 狠狠 欧美| 韩国av在线不卡| 午夜免费男女啪啪视频观看| 日本色播在线视频| 欧美日韩国产mv在线观看视频 | 欧美国产精品一级二级三级 | 日韩一区二区视频免费看| 午夜福利网站1000一区二区三区| 免费大片18禁| 国产在线一区二区三区精| 夫妻性生交免费视频一级片| 亚洲一级一片aⅴ在线观看| 亚洲综合精品二区| 人妻 亚洲 视频| 精品人妻偷拍中文字幕| 成人影院久久| 欧美极品一区二区三区四区| 少妇高潮的动态图| 国产伦精品一区二区三区视频9| 国精品久久久久久国模美| 亚洲精品国产av蜜桃| 欧美激情极品国产一区二区三区 | 欧美97在线视频| 欧美精品一区二区大全| 天美传媒精品一区二区| 中文字幕免费在线视频6| 黄色日韩在线| 亚洲av.av天堂| 亚洲精品国产av成人精品| 久久久久久久亚洲中文字幕| 午夜日本视频在线| 久久6这里有精品| 亚洲国产精品国产精品| 边亲边吃奶的免费视频| 亚洲精品国产色婷婷电影| 国产乱来视频区| 日日摸夜夜添夜夜添av毛片| 欧美bdsm另类| 97热精品久久久久久| 97在线人人人人妻| 亚洲欧美一区二区三区黑人 | 水蜜桃什么品种好| 国产成人午夜福利电影在线观看| 在线观看一区二区三区| 国模一区二区三区四区视频| 国产伦精品一区二区三区四那| 久久精品人妻少妇| 欧美一区二区亚洲| 国产乱人偷精品视频| 免费观看av网站的网址| 国产亚洲91精品色在线| 欧美丝袜亚洲另类| 国产精品一区二区在线观看99| 久久久久久伊人网av| 高清欧美精品videossex| 精品一区二区三卡| 国产 一区精品| 啦啦啦视频在线资源免费观看| av线在线观看网站| 国产乱人视频| 日日摸夜夜添夜夜爱| 精品亚洲乱码少妇综合久久| 日韩av不卡免费在线播放| 国产精品精品国产色婷婷| 日本黄色片子视频| 黄色配什么色好看| 自拍欧美九色日韩亚洲蝌蚪91 | 国产精品国产av在线观看| 免费人妻精品一区二区三区视频| 欧美成人a在线观看| 菩萨蛮人人尽说江南好唐韦庄| 欧美成人a在线观看| 欧美一级a爱片免费观看看| 1000部很黄的大片| 久久ye,这里只有精品| 男人狂女人下面高潮的视频| 国产精品久久久久久久电影| 搡老乐熟女国产| 婷婷色av中文字幕| 精品国产露脸久久av麻豆| 日韩中文字幕视频在线看片 | 又大又黄又爽视频免费| 国产人妻一区二区三区在| 在线播放无遮挡| 欧美日韩视频精品一区| 亚洲综合精品二区| 色5月婷婷丁香| 日韩伦理黄色片| 97热精品久久久久久| 伊人久久国产一区二区| 婷婷色麻豆天堂久久| 黄色怎么调成土黄色| 亚洲美女搞黄在线观看| 国产永久视频网站| 在线观看免费高清a一片| 亚洲人成网站高清观看| 一区在线观看完整版| 亚洲高清免费不卡视频| h视频一区二区三区| 黄片无遮挡物在线观看| 99久久精品国产国产毛片| 国产在线男女| 亚洲美女视频黄频| 人妻系列 视频| www.av在线官网国产| 国产精品国产三级国产av玫瑰| 久久久久精品性色| 成人亚洲精品一区在线观看 | 在线观看人妻少妇| 少妇人妻一区二区三区视频| 黄色视频在线播放观看不卡| 九草在线视频观看| 亚洲精品国产色婷婷电影| 九九爱精品视频在线观看| 我的老师免费观看完整版| 国产综合精华液| 国产色爽女视频免费观看| 久久久久久九九精品二区国产| 校园人妻丝袜中文字幕| 青春草视频在线免费观看| 亚洲精品日韩av片在线观看| 精品人妻熟女av久视频| 黑丝袜美女国产一区| 亚洲国产欧美人成| 伊人久久国产一区二区| 日本午夜av视频| 春色校园在线视频观看| 九草在线视频观看| 成人影院久久| 日韩电影二区| 搡女人真爽免费视频火全软件| 在线 av 中文字幕| 人人妻人人澡人人爽人人夜夜| 2018国产大陆天天弄谢| 亚洲av在线观看美女高潮| 亚洲精品aⅴ在线观看| 欧美日韩视频高清一区二区三区二| 一本—道久久a久久精品蜜桃钙片| av女优亚洲男人天堂| 亚洲无线观看免费| 十分钟在线观看高清视频www | 极品教师在线视频| 中文字幕av成人在线电影| av卡一久久| 国产免费又黄又爽又色| 最新中文字幕久久久久| 久久精品国产亚洲网站| 大话2 男鬼变身卡| 精品久久久久久久末码| 麻豆成人av视频| 亚洲综合精品二区| 亚洲性久久影院| 国产成人91sexporn| 久久精品夜色国产| 欧美三级亚洲精品| 卡戴珊不雅视频在线播放| 国产免费又黄又爽又色| 哪个播放器可以免费观看大片| 我要看黄色一级片免费的| 97超碰精品成人国产| 亚洲av成人精品一二三区| 国产成人aa在线观看| 女性生殖器流出的白浆| 亚洲av电影在线观看一区二区三区| 直男gayav资源| 日韩一本色道免费dvd| 少妇猛男粗大的猛烈进出视频| 秋霞伦理黄片| 亚洲一级一片aⅴ在线观看| 成年免费大片在线观看| 1000部很黄的大片| 欧美一区二区亚洲| 亚洲精品中文字幕在线视频 | 亚洲性久久影院| 夜夜看夜夜爽夜夜摸| 亚洲欧美精品专区久久| 国产亚洲欧美精品永久| 六月丁香七月| 欧美日韩亚洲高清精品| 日本黄色日本黄色录像| 少妇人妻一区二区三区视频| 日本av手机在线免费观看| 国产精品久久久久久久久免| 久久鲁丝午夜福利片| 欧美bdsm另类| 王馨瑶露胸无遮挡在线观看| 亚洲精品乱码久久久v下载方式| 看十八女毛片水多多多| 久久久久精品久久久久真实原创| 亚洲,一卡二卡三卡| 蜜桃久久精品国产亚洲av| 国产高清不卡午夜福利| 我的女老师完整版在线观看| 最后的刺客免费高清国语| 蜜桃在线观看..| 国产精品国产三级国产av玫瑰| 国产精品久久久久久精品古装| 国产免费一级a男人的天堂| 一二三四中文在线观看免费高清| 久久久久久久久久成人| 深爱激情五月婷婷| 人妻 亚洲 视频| 久久久久视频综合| 涩涩av久久男人的天堂| www.色视频.com| 热re99久久精品国产66热6| av网站免费在线观看视频| 在线观看免费高清a一片| 日韩在线高清观看一区二区三区| 男女边吃奶边做爰视频| 精品一区二区三卡| 国产欧美另类精品又又久久亚洲欧美| 中文乱码字字幕精品一区二区三区| 麻豆成人av视频| 有码 亚洲区| 老女人水多毛片| 国产 一区精品| 精品人妻熟女av久视频| 成人毛片60女人毛片免费| 嫩草影院入口| 性高湖久久久久久久久免费观看| 嫩草影院新地址| 欧美变态另类bdsm刘玥| 久久人人爽人人爽人人片va| 老女人水多毛片| 国内揄拍国产精品人妻在线| 国产精品久久久久久精品古装| 日韩人妻高清精品专区| 精品一区二区三区视频在线| 亚洲欧美精品自产自拍| 久久午夜福利片| 久久久久久久久久成人| 成人18禁高潮啪啪吃奶动态图 | av卡一久久| 99国产精品免费福利视频| 国产亚洲欧美精品永久| 国产一区有黄有色的免费视频| 观看av在线不卡| 最近2019中文字幕mv第一页| 两个人的视频大全免费| 国产亚洲精品久久久com| 女性生殖器流出的白浆| 亚洲欧美日韩卡通动漫| 内射极品少妇av片p| 亚洲国产欧美人成| 精品视频人人做人人爽| 99热网站在线观看| 亚洲图色成人| 亚洲美女视频黄频| 国产深夜福利视频在线观看| 亚洲欧美成人综合另类久久久| 国产69精品久久久久777片| 国产高潮美女av| 中文字幕精品免费在线观看视频 | 日韩 亚洲 欧美在线| 肉色欧美久久久久久久蜜桃| 一区二区三区乱码不卡18| 欧美+日韩+精品| 男女国产视频网站| 最近最新中文字幕大全电影3| 男人舔奶头视频| 亚洲欧美成人综合另类久久久| 精品久久久久久电影网| 一本久久精品| 精品久久久噜噜| 亚洲欧美一区二区三区黑人 | 高清视频免费观看一区二区| av免费观看日本| 亚洲av.av天堂| 日韩三级伦理在线观看| 性色avwww在线观看| 国产大屁股一区二区在线视频| 两个人的视频大全免费| 国产黄片视频在线免费观看| 精品视频人人做人人爽| 亚洲美女视频黄频| 国产精品一区www在线观看| 人人妻人人看人人澡| 99热国产这里只有精品6| 亚洲欧美中文字幕日韩二区| 国产在线视频一区二区| 国产成人免费观看mmmm| 少妇人妻精品综合一区二区| 国产高清不卡午夜福利| 一级毛片久久久久久久久女| 日韩电影二区| 亚洲av国产av综合av卡| 欧美zozozo另类| a级毛色黄片| 国产av精品麻豆| 国国产精品蜜臀av免费| 欧美丝袜亚洲另类| 日本黄色日本黄色录像| 色吧在线观看| 国产亚洲一区二区精品| 日本-黄色视频高清免费观看| 天堂8中文在线网| 亚洲人成网站在线播| 日韩一本色道免费dvd| 一区二区三区免费毛片| 欧美人与善性xxx| 亚洲自偷自拍三级| 免费看日本二区| 久久久亚洲精品成人影院| 观看美女的网站| 亚洲国产成人一精品久久久| www.av在线官网国产| 亚洲av成人精品一二三区| 国产美女午夜福利| 看十八女毛片水多多多| 大片电影免费在线观看免费| 女的被弄到高潮叫床怎么办| 亚洲av中文av极速乱| 久久久久人妻精品一区果冻| tube8黄色片| 亚洲美女黄色视频免费看| 婷婷色综合www| 黄色配什么色好看| 偷拍熟女少妇极品色| 亚洲人成网站高清观看| 3wmmmm亚洲av在线观看| 国产精品久久久久久精品电影小说 | av国产精品久久久久影院| videos熟女内射| 最黄视频免费看| 人妻系列 视频| 亚洲av欧美aⅴ国产| 欧美日韩视频高清一区二区三区二| 日本欧美视频一区| 你懂的网址亚洲精品在线观看| 一级a做视频免费观看| 韩国av在线不卡| 精品人妻偷拍中文字幕| 一区二区三区免费毛片| 亚洲国产精品999| 我的女老师完整版在线观看| 啦啦啦啦在线视频资源| 国产在线免费精品| 免费av中文字幕在线| 在线观看人妻少妇| 夫妻性生交免费视频一级片| 欧美老熟妇乱子伦牲交| 高清日韩中文字幕在线| 2021少妇久久久久久久久久久| 久久久精品免费免费高清| 一区在线观看完整版| 国内精品宾馆在线| 亚洲最大成人中文| 男女边吃奶边做爰视频| 欧美高清性xxxxhd video| 大话2 男鬼变身卡| 18禁在线播放成人免费| 秋霞在线观看毛片| 成人综合一区亚洲| 久久99热这里只有精品18| 五月天丁香电影| 亚洲av二区三区四区| 国国产精品蜜臀av免费| av线在线观看网站| 日本色播在线视频| 日韩一区二区三区影片| 亚洲精品aⅴ在线观看| 国产精品不卡视频一区二区| 黄片wwwwww| 亚洲欧美日韩另类电影网站 | 肉色欧美久久久久久久蜜桃| 久久久久人妻精品一区果冻| 欧美97在线视频| 亚洲av成人精品一二三区| 一级黄片播放器| av.在线天堂| 男男h啪啪无遮挡| 黄色欧美视频在线观看| 亚洲欧美成人综合另类久久久| 天堂俺去俺来也www色官网| 成人毛片60女人毛片免费| 午夜免费鲁丝| 欧美变态另类bdsm刘玥| 自拍欧美九色日韩亚洲蝌蚪91 | 亚洲丝袜综合中文字幕| 高清日韩中文字幕在线| 亚洲国产成人一精品久久久| 国产女主播在线喷水免费视频网站| 男人爽女人下面视频在线观看| 男人舔奶头视频| 亚洲成人一二三区av| 黄片wwwwww| 极品少妇高潮喷水抽搐| 九色成人免费人妻av| 欧美高清成人免费视频www| 精品少妇久久久久久888优播| 一个人看的www免费观看视频| 午夜福利影视在线免费观看| 日韩av在线免费看完整版不卡| 超碰97精品在线观看| 亚洲av成人精品一二三区| 国产高清三级在线| 日韩强制内射视频| 久久久久国产网址| 日本欧美国产在线视频| 91午夜精品亚洲一区二区三区| 成人二区视频| 久久久久精品久久久久真实原创| 亚洲第一av免费看| 中国国产av一级| 亚洲中文av在线| 美女cb高潮喷水在线观看| 欧美xxⅹ黑人| 成年免费大片在线观看| 菩萨蛮人人尽说江南好唐韦庄| 99热这里只有是精品50| 青春草亚洲视频在线观看| 国产黄片美女视频| 中文乱码字字幕精品一区二区三区| 亚洲av国产av综合av卡| 欧美日韩亚洲高清精品| 亚洲精品色激情综合| 少妇的逼水好多| 久久国产亚洲av麻豆专区| 日本-黄色视频高清免费观看| 狂野欧美激情性bbbbbb| 欧美日韩精品成人综合77777| 精品亚洲成国产av| 一级毛片电影观看| 少妇高潮的动态图| a 毛片基地| 91aial.com中文字幕在线观看| 直男gayav资源| 中文精品一卡2卡3卡4更新| 18+在线观看网站| 国产成人免费无遮挡视频| 国产精品一区二区性色av| 青春草国产在线视频| 成人国产麻豆网| 国产免费又黄又爽又色| 超碰av人人做人人爽久久| 亚洲色图av天堂| a 毛片基地| 免费观看a级毛片全部| 老女人水多毛片| 狂野欧美激情性xxxx在线观看| 国产欧美亚洲国产| 丝袜脚勾引网站| av国产免费在线观看| 精品亚洲成a人片在线观看 | 波野结衣二区三区在线| 水蜜桃什么品种好| 日韩精品有码人妻一区| 日韩电影二区| 91精品国产国语对白视频| 亚洲第一区二区三区不卡| a级毛色黄片| 色吧在线观看| 日韩一区二区视频免费看| 国产精品三级大全| 在线播放无遮挡| 精品久久久久久久久av| 亚洲高清免费不卡视频| 久久精品国产亚洲av涩爱| 国产综合精华液| 中文资源天堂在线| 成人影院久久| 人人妻人人看人人澡| 男女边吃奶边做爰视频| 一级毛片aaaaaa免费看小| 日本猛色少妇xxxxx猛交久久| 精品视频人人做人人爽| 免费久久久久久久精品成人欧美视频 | 天美传媒精品一区二区| 免费看光身美女| 91久久精品国产一区二区成人| 少妇高潮的动态图| 好男人视频免费观看在线| 精品国产露脸久久av麻豆| 国产精品久久久久成人av| 高清黄色对白视频在线免费看 | 国产一级毛片在线| 亚洲成人中文字幕在线播放| 纯流量卡能插随身wifi吗| 一区二区av电影网| 精品亚洲成a人片在线观看 | 夜夜爽夜夜爽视频| 日本猛色少妇xxxxx猛交久久| 人人妻人人看人人澡| 国产精品女同一区二区软件| 十八禁网站网址无遮挡 | 亚洲精品日本国产第一区| 天堂中文最新版在线下载| 春色校园在线视频观看| 亚洲精品日韩av片在线观看| 夜夜爽夜夜爽视频| 男男h啪啪无遮挡| 国产精品国产三级专区第一集| 丝袜喷水一区| 国产av国产精品国产| 久久热精品热| 精品亚洲乱码少妇综合久久| 久久综合国产亚洲精品| 高清黄色对白视频在线免费看 | 国产av精品麻豆| 亚洲av综合色区一区| 亚洲av福利一区| 色综合色国产| 97精品久久久久久久久久精品| 美女国产视频在线观看| 亚洲在久久综合| 熟女人妻精品中文字幕| 菩萨蛮人人尽说江南好唐韦庄| 国产毛片在线视频| av女优亚洲男人天堂| 亚洲怡红院男人天堂| 国产毛片在线视频| 亚洲国产精品成人久久小说| 亚洲伊人久久精品综合| 人妻一区二区av| 在线 av 中文字幕| 国产精品秋霞免费鲁丝片| 91狼人影院| 女性被躁到高潮视频| 亚洲欧洲国产日韩| 尾随美女入室| 亚洲欧美中文字幕日韩二区| 99热网站在线观看| 亚洲国产日韩一区二区| 最近2019中文字幕mv第一页| 中国三级夫妇交换| 精品酒店卫生间| 建设人人有责人人尽责人人享有的 | 美女cb高潮喷水在线观看| 久久精品国产自在天天线| 在线播放无遮挡| 国产片特级美女逼逼视频| 亚洲伊人久久精品综合| 伊人久久精品亚洲午夜| 99热6这里只有精品| 亚洲国产欧美在线一区| 三级经典国产精品| 国产淫片久久久久久久久| 国产真实伦视频高清在线观看| 国产大屁股一区二区在线视频| 久久精品久久精品一区二区三区| 国产高潮美女av| 尤物成人国产欧美一区二区三区|