久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

Hive 3.1.2 UDF開發(fā)避坑指南:從環(huán)境配置到GenericUDF實(shí)踐

Hive 3.1.2 UDF開發(fā)避坑指南:從環(huán)境配置到GenericUDF實(shí)踐 Hive 3.1.2 版本做 UDF 開發(fā)是個(gè)挺容易踩坑的活兒。網(wǎng)上很多教程還停留在 Hive 1.x/2.x 的老寫法照著做大概率會(huì)碰到類沖突、方法簽名不識別這類問題。我自己在 3.1.2 上踩了一輪坑之后把完整流程和避坑點(diǎn)整理出來希望能幫你少走彎路。1. 開發(fā)前的環(huán)境認(rèn)知與版本陷阱1.1 為什么要專門強(qiáng)調(diào) 3.1.2 版本Hive 3.1.2 是 Hive 3.x 系列里比較穩(wěn)定的一個(gè)版本很多公司的生產(chǎn)環(huán)境都在用。但這個(gè)版本和 2.x 相比有幾個(gè)直接影響 UDF 開發(fā)的底層變化依賴的 Hadoop 版本升級到了 3.x 系列導(dǎo)致一些老的 hive-exec 依賴寫法會(huì)出現(xiàn) NoSuchMethodError。引入了更嚴(yán)格的 SQL 標(biāo)準(zhǔn)合規(guī)檢查對函數(shù)注冊和調(diào)用的方式有影響。移除了部分 deprecated 的 API比如舊的UDF類雖然保留但GenericUDF的初始化流程有細(xì)微差別。Hive 3.x 默認(rèn)使用 LLAP 和新的執(zhí)行引擎UDF 在本地調(diào)試和集群運(yùn)行時(shí)的類加載機(jī)制不完全一樣。這些變化意味著如果你直接搜網(wǎng)上 Hive UDF 教程 然后復(fù)制代碼大概率會(huì)在打包或者運(yùn)行時(shí)碰到各種詭異報(bào)錯(cuò)。1.2 Maven 依賴的正確配置方法在 Hive 3.1.2 下開發(fā) UDF最穩(wěn)妥的 Maven 依賴配置是這樣dependency groupIdorg.apache.hive/groupId artifactIdhive-exec/artifactId version3.1.2/version scopeprovided/scope /dependency dependency groupIdorg.apache.hadoop/groupId artifactIdhadoop-common/artifactId version3.1.0/version scopeprovided/scope /dependency幾個(gè)關(guān)鍵點(diǎn)解釋一下scope必須設(shè)置為provided因?yàn)?Hive 集群環(huán)境本身已經(jīng)有這些 jar 了。如果打成 fat jar 把這些依賴打進(jìn)去極大概率會(huì)引發(fā)類沖突出現(xiàn)ClassNotFoundException或者奇怪的序列化錯(cuò)誤。Hadoop 版本不一定要跟 Hive 自帶的一模一樣3.1.0和3.1.1通常兼容。但如果業(yè)務(wù)方指定了 Hadoop 版本以實(shí)際環(huán)境為準(zhǔn)。如果你在代碼里用到org.apache.hadoop.hive.ql.exec.UDF還需要確認(rèn)hive-exec沒有被其他傳遞依賴干擾。建議在pom.xml里加exclusions把hive-common、log4j等排除掉避免和集群自帶的沖突。提示不要用hive-udf這種單獨(dú)的 artifactId 名稱那是老版本的方案3.x 下直接在hive-exec里就有完整的 UDF API。1.3 本地開發(fā)環(huán)境的 JDK 選擇Hive 3.1.2 官方推薦 JDK 是 Java 8本地開發(fā)也盡量用 JDK 8。如果你用 JDK 11 或 17 編譯雖然有些功能能跑但集群上如果還是 JDK 8 的環(huán)境運(yùn)行時(shí)容易出現(xiàn)UnsupportedClassVersionError。建議開發(fā)機(jī)裝一個(gè) JDK 8Maven 的pom.xml里加編譯參數(shù)properties maven.compiler.source1.8/maven.compiler.source maven.compiler.target1.8/maven.compiler.target /properties2. UDF 開發(fā)的兩種核心寫法與適用場景2.1 繼承 UDF 類的簡單寫法這是最簡單的一種方式適用于輸入輸出都是一對一的場景比如字符串處理、數(shù)值計(jì)算。package com.example.hive.udf; import org.apache.hadoop.hive.ql.exec.UDF; import org.apache.hadoop.io.Text; public class MaskPhone extends UDF { public Text evaluate(Text phone) { if (phone null) { return null; } String value phone.toString(); if (value.length() 7) { return new Text(value); } String masked value.substring(0, 3) **** value.substring(7); return new Text(masked); } }這個(gè)方法就干了件很典型的事把手機(jī)號中間四位脫敏。整個(gè)處理邏輯很直接方法就是evaluateHive 引擎會(huì)根據(jù)參數(shù)類型自動(dòng)找到對應(yīng)的方法。UDF基類的作用是幫你解決反射匹配那部分繁瑣的內(nèi)容自己只需要關(guān)心業(yè)務(wù)實(shí)現(xiàn)。這里有個(gè)小細(xì)節(jié)返回值最好用 Hadoop 的Text類型而不是 Java 的String。雖然Text也能轉(zhuǎn)成String但用Text在很多場景下性能更好。如果你返回 Java 基礎(chǔ)類型比如int、doubleHive 也能處理但會(huì)出現(xiàn)序列化層面的隱式轉(zhuǎn)換數(shù)據(jù)量大的時(shí)候差距能感覺到。2.2 繼承 GenericUDF 的高級寫法簡單UDF在處理復(fù)雜類型如struct、map、array或者需要做參數(shù)個(gè)數(shù)校驗(yàn)時(shí)就比較吃力。這時(shí)候需要GenericUDF。package com.example.hive.udf; import org.apache.hadoop.hive.ql.exec.UDFArgumentException; import org.apache.hadoop.hive.ql.exec.UDFArgumentLengthException; import org.apache.hadoop.hive.ql.exec.UDFArgumentTypeException; import org.apache.hadoop.hive.ql.metadata.HiveException; import org.apache.hadoop.hive.ql.udf.generic.GenericUDF; import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector; import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils; import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory; import org.apache.hadoop.hive.serde2.objectinspector.primitive.StringObjectInspector; import org.apache.hadoop.io.Text; public class GenericMaskPhone extends GenericUDF { private StringObjectInspector stringOI; Override public ObjectInspector initialize(ObjectInspector[] arguments) throws UDFArgumentException { if (arguments.length ! 1) { throw new UDFArgumentLengthException(GenericMaskPhone 需要恰好 1 個(gè)參數(shù)你傳了 arguments.length 個(gè)); } if (arguments[0].getCategory() ! ObjectInspector.Category.PRIMITIVE || !(arguments[0] instanceof StringObjectInspector)) { throw new UDFArgumentTypeException(0, 參數(shù)類型錯(cuò)誤第一個(gè)參數(shù)需要是 STRING 類型); } stringOI (StringObjectInspector) arguments[0]; return PrimitiveObjectInspectorFactory.writableStringObjectInspector; } Override public Object evaluate(DeferredObject[] arguments) throws HiveException { if (arguments[0] null || arguments[0].get() null) { return null; } String value stringOI.getPrimitiveJavaObject(arguments[0].get()); if (value.length() 7) { return new Text(value); } return new Text(value.substring(0, 3) **** value.substring(7)); } Override public String getDisplayString(String[] children) { return GenericMaskPhone( children[0] ); } }GenericUDF的三個(gè)方法各有分工initialize在函數(shù)第一次執(zhí)行時(shí)被調(diào)用用來確定參數(shù)類型、校驗(yàn)參數(shù)個(gè)數(shù)并定義返回值的類型。這里的返回值從ObjectInspector來描述既是給引擎看的元數(shù)據(jù)信息也是后續(xù)處理數(shù)據(jù)的依據(jù)。evaluate是真正處理數(shù)據(jù)的核心每行數(shù)據(jù)都會(huì)調(diào)用一次。getDisplayString用于展示函數(shù)調(diào)用形式在 explain 語句和日志中會(huì)用到格式不嚴(yán)謹(jǐn)也沒關(guān)系但不能返回 null。很多新人在initialize里容易犯一個(gè)錯(cuò)以為可以在這里拿到數(shù)據(jù)。實(shí)際上這里只拿類型信息數(shù)據(jù)在evaluate里才能拿到。把ObjectInspector緩存下來就是為了在evaluate里高效地讀取數(shù)據(jù)。2.3 兩種寫法的選型建議做一個(gè)簡單的對比對比項(xiàng)繼承 UDF繼承 GenericUDF代碼量少只需寫 evaluate多要寫三個(gè)方法參數(shù)類型校驗(yàn)松散靠反射匹配嚴(yán)密可在 initialize 中精確控制復(fù)雜類型支持有限完全支持 struct/map/array性能略差更優(yōu)Debug 友好度簡單較復(fù)雜需要理解 ObjectInspector我的經(jīng)驗(yàn)是處理基本類型、邏輯簡單的場景直接用簡單UDF就好代碼可讀性好。但如果你需要處理嵌套結(jié)構(gòu)或者要檢查參數(shù)個(gè)數(shù)、按不同類型選擇不同的處理分支GenericUDF在復(fù)雜場景下更有優(yōu)勢排查問題也更直觀。3. 完整實(shí)操從代碼到集群運(yùn)行3.1 測試用例的編寫技巧很多開發(fā)者在本地寫完 UDF 之后直接扔到集群上測試結(jié)果一執(zhí)行就報(bào)錯(cuò)來回調(diào)試的成本特別高。其實(shí)在本地用 JUnit 寫一個(gè)測試用例幾分鐘就能驗(yàn)證大部分邏輯問題。package com.example.hive.udf; import org.apache.hadoop.io.Text; import org.junit.Assert; import org.junit.Test; public class MaskPhoneTest { Test public void testNormal() { MaskPhone udf new MaskPhone(); Text result udf.evaluate(new Text(13812345678)); Assert.assertEquals(138****5678, result.toString()); } Test public void testNull() { MaskPhone udf new MaskPhone(); Assert.assertNull(udf.evaluate(null)); } Test public void testShortLength() { MaskPhone udf new MaskPhone(); Text result udf.evaluate(new Text(123456)); Assert.assertEquals(123456, result.toString()); } }測試重點(diǎn)覆蓋三類情況正常輸入、空值、邊界值。特別是空值很多 UDF 在這上面崩潰過——用戶在 SQL 里寫where column is not null過濾掉了一部分但 UDF 內(nèi)部還是要做好防御。測試的依賴在 pom.xml 中加上dependency groupIdjunit/groupId artifactIdjunit/artifactId version4.13.2/version scopetest/scope /dependency3.2 打包與上傳 HDFS本地測試通過之后執(zhí)行mvn clean package -DskipTests打包。輸出 jar 一般不大幾百 KB 到幾 MB 都正常。把 jar 上傳到 HDFS 的常見做法hdfs dfs -mkdir -p /udf/lib hdfs dfs -put mask-udf-1.0.jar /udf/lib/為什么要放 HDFS 而不是直接放本機(jī)因?yàn)?Hive 集群可能是多節(jié)點(diǎn)如果只放在提交任務(wù)的節(jié)點(diǎn)上其他節(jié)點(diǎn)執(zhí)行時(shí)找不到 jar就會(huì)報(bào)ClassNotFoundException。放在 HDFS 上所有節(jié)點(diǎn)都能加載。這是個(gè)經(jīng)典坑務(wù)必注意。3.3 永久函數(shù)與臨時(shí)函數(shù)注冊在 Hive 3.1.2 中臨時(shí)函數(shù)的注冊方式ADD JAR hdfs:///udf/lib/mask-udf-1.0.jar; CREATE TEMPORARY FUNCTION mask_phone AS com.example.hive.udf.MaskPhone;臨時(shí)函數(shù)只在當(dāng)前會(huì)話有效斷開會(huì)話就失效適合開發(fā)測試階段使用。要在生產(chǎn)環(huán)境長期使用建議注冊為永久函數(shù)CREATE FUNCTION mask_phone AS com.example.hive.udf.MaskPhone USING JAR hdfs:///udf/lib/mask-udf-1.0.jar;注意永久函數(shù)的創(chuàng)建可能需要管理員權(quán)限如果當(dāng)前用戶沒有權(quán)限會(huì)報(bào)AuthorizationException。如果自己不是管理員可以讓 DBA 幫忙或者把 jar 的權(quán)限放開到 HDFS 上允許讀。Hive 3.1.2 里函數(shù)名最好不要帶橫線或點(diǎn)會(huì)跟一些內(nèi)部命名沖突。用下劃線連接是最穩(wěn)妥的寫法。3.4 實(shí)際調(diào)用驗(yàn)證注冊完成之后執(zhí)行一條 SQL 驗(yàn)證SELECT mask_phone(13812345678);正常結(jié)果應(yīng)該輸出138****5678。再試一下空值場景SELECT mask_phone(null);應(yīng)該返回NULL而不是報(bào)錯(cuò)。順便可以驗(yàn)證一下在WHERE條件中使用 UDF 的效果SELECT id, phone FROM user_phone WHERE mask_phone(phone) 138****5678;到這里簡單 UDF 的基本流程就算跑通了。4. 進(jìn)階GenericUDF 初始化與常量折疊問題4.1 initialize 方法里的參數(shù)校驗(yàn)細(xì)節(jié)很多復(fù)雜的 bug 都出在initialize方法上。有些場景下 UDF 的入?yún)⒖赡苁浅A恳部赡苁亲侄?。ObjectInspector拿到的是類型描述而不是具體數(shù)值。在initialize里做校驗(yàn)時(shí)要格外注意不要嘗試讀取參數(shù)值只做類型和數(shù)量檢查。比如要處理兩個(gè)參數(shù)第一個(gè)是字符串第二個(gè)是整數(shù)可以這樣校驗(yàn)Override public ObjectInspector initialize(ObjectInspector[] arguments) throws UDFArgumentException { if (arguments.length ! 2) { throw new UDFArgumentLengthException(需要兩個(gè)參數(shù)); } if (arguments[0].getCategory() ! ObjectInspector.Category.PRIMITIVE) { throw new UDFArgumentTypeException(0, 第一個(gè)參數(shù)必須是基本類型); } PrimitiveObjectInspector poi0 (PrimitiveObjectInspector) arguments[0]; PrimitiveObjectInspector poi1 (PrimitiveObjectInspector) arguments[1]; if (poi0.getPrimitiveCategory() ! PrimitiveObjectInspector.PrimitiveCategory.STRING) { throw new UDFArgumentTypeException(0, 第一個(gè)參數(shù)必須是 STRING); } if (poi1.getPrimitiveCategory() ! PrimitiveObjectInspector.PrimitiveCategory.INT) { throw new UDFArgumentTypeException(1, 第二個(gè)參數(shù)必須是 INT); } return PrimitiveObjectInspectorFactory.writableStringObjectInspector; }注意這里用的getPrimitiveCategory()是更細(xì)粒度的類型判斷。STRING和CHAR、VARCHAR是不同的類別但某些場景下你可能希望同時(shí)接受它們。這種取舍要根據(jù)業(yè)務(wù)需求來定。4.2 常量折疊帶來的“詭異”現(xiàn)象Hive 3.1.2 的優(yōu)化器會(huì)在某些情況下做常量折疊。什么意思呢如果你執(zhí)行SELECT mask_phone(13812345678)引擎可能在你還沒進(jìn)入真正的 UDF 執(zhí)行前就把參數(shù)作為常量推導(dǎo)出結(jié)果了。這種情況下initialize可能根本不會(huì)被調(diào)用或者只調(diào)用一次。這種優(yōu)化通常不會(huì)影響最終結(jié)果但如果你在 UDF 里寫了static變量想保存狀態(tài)就需要注意不要依賴evaluate的調(diào)用次數(shù)。比如用static int count統(tǒng)計(jì)共處理了多少行在常量折疊下統(tǒng)計(jì)結(jié)果可能不準(zhǔn)確。4.3 UDF 中的狀態(tài)管理規(guī)范Hive 的 UDF 是被多線程并發(fā)調(diào)用的。同一個(gè) UDF 實(shí)例可能同時(shí)被多個(gè) mapper/reducer 線程使用因此不要在 UDF 里使用非線程安全的成員變量比如SimpleDateFormat。不要用成員變量保存行級狀態(tài)比如lastValue這種。如果確實(shí)需要線程安全的格式化工具在initialize里創(chuàng)建局部變量或者用ThreadLocal。踩過坑的開發(fā)者都知道這類并發(fā)問題在測試階段很難發(fā)現(xiàn)通常要到數(shù)據(jù)量大了之后突然報(bào)錯(cuò)排查起來相當(dāng)痛苦。5. 三個(gè)最容易踩的運(yùn)行時(shí)坑5.1 ClassNotFound 與依賴沖突這是出現(xiàn)頻率最高的問題。打包時(shí)如果用了maven-shade-plugin把 Hive 依賴打進(jìn)了 fat jar運(yùn)行時(shí)就會(huì)出現(xiàn)一個(gè)詭異的現(xiàn)象本地測試正常上傳集群就報(bào)錯(cuò)。典型報(bào)錯(cuò)信息java.lang.NoSuchMethodError: org.apache.hadoop.hive.ql.exec.UDF.evaluate解決思路把pom.xml中hive-exec的scope改成provided同時(shí)確保打的是瘦 jar。如果確實(shí)有特殊依賴需要打包用 shade 插件盡量排除org.apache.hive和org.apache.hadoop相關(guān)包名。另一個(gè)思路是直接用 Hive 的ADD JAR把額外的依賴 jar 加載進(jìn)來ADD JAR hdfs:///udf/lib/commons-lang3.jar; ADD JAR hdfs:///udf/lib/guava-27.0-jre.jar;注意優(yōu)先級問題后添加的 jar 可能覆蓋先添加的。同一份依賴集群自帶的版本和 jar 里的版本不一致時(shí)容易引發(fā)沖突。避免這種問題的最佳做法就是別在 UDF 里用和 Hive 核心依賴重疊的開源庫迫不得已時(shí)要精心管理類加載順序。5.2 返回 null 時(shí)引發(fā)的 NPEHive 里遇到null是家常便飯。UDF 里的evaluate方法如果收到null參數(shù)而代碼里沒做判空很容易 NPE。我見過的最隱蔽 NPE 是這么出現(xiàn)的public Text evaluate(Text a, Text b) { if (!a.toString().equals(b.toString())) { return new Text(not_equal); } return new Text(equal); }看著沒問題但如果a為 null調(diào)用a.toString()就 NPE 了。更麻煩的是Hive 引擎有時(shí)會(huì)把空字符串和 null 混在一起行為難以預(yù)測。建議在方法最開始統(tǒng)一判空if (a null || b null) { return null; }5.3 類型隱式轉(zhuǎn)換導(dǎo)致的結(jié)果異常Hive 3.1.2 對類型轉(zhuǎn)換有一套規(guī)則。比如你寫mask_phone(phone)而phone是varchar(20)而不是string簡單 UDF 的反射機(jī)制可能匹配不到對應(yīng)的evaluate方法要么報(bào)錯(cuò)要么是類型轉(zhuǎn)換消耗額外時(shí)間。更隱蔽的問題是精度丟失比如 UDF 參數(shù)用Double而傳入的是高精度的DecimalHive 會(huì)轉(zhuǎn)成 double 進(jìn)行處理可能丟掉精度。處理金額類數(shù)據(jù)時(shí)尤其小心盡量用BigDecimal或Text來確定性的字符串處理。6. 性能調(diào)優(yōu)與 UDF 編寫規(guī)范6.1 避免不必要的對象創(chuàng)建每行數(shù)據(jù)都調(diào)用evaluate如果每次都new一個(gè)StringBuilder或ArrayList在大數(shù)據(jù)量下就是海量對象創(chuàng)建GC 壓力飆升。更優(yōu)的寫法是在GenericUDF里把可重用的Object作為成員變量緩存起來前提是線程安全或者直接復(fù)用輸入的Text對象。在簡單 UDF 中如果必須返回字符串盡量少做無意義的拼接可以用StringBuilder的鏈?zhǔn)秸{(diào)用減少中間對象。6.2 分段處理與空值短路把復(fù)雜的 UDF 拆成多個(gè)簡單函數(shù)往往比一個(gè)超級函數(shù)更高效。因?yàn)?Hive 的謂詞下推和列剪枝能幫你過濾掉很多不需要計(jì)算的行。數(shù)據(jù)量大時(shí)空值短路很重要。如果 UDF 檢測到某個(gè)字段為 null直接返回 null后續(xù)的復(fù)雜邏輯就不用執(zhí)行了。這樣既避免 NPE又能減少不必要的計(jì)算。7. 常見問題速查表報(bào)錯(cuò)信息可能原因解決方案ClassNotFoundException: com.example.hive.udf.MaskPhonejar 未加載或路徑不對確認(rèn) ADD JAR 是否執(zhí)行jar 是否在 HDFS 上NoSuchMethodError: evaluatehive-exec 依賴沖突引入了錯(cuò)誤的版本檢查 pom.xml scope 是否為 provided清理 fat jarUDFArgumentException: 參數(shù)類型錯(cuò)誤initialize 中的類型校驗(yàn)過于嚴(yán)格檢查參數(shù)類別確認(rèn) STRING 與 VARCHAR 的區(qū)別AuthorizationException當(dāng)前用戶無創(chuàng)建永久函數(shù)權(quán)限聯(lián)系管理員授權(quán)或用臨時(shí)函數(shù)代替UnsupportedClassVersionError本地編譯 JDK 版本高于集群 JDK統(tǒng)一使用 JDK 8 編譯檢查 maven compiler 配置SemanticsException: Function is not registered創(chuàng)建函數(shù)的庫名不是當(dāng)前庫使用 db_name.function_name 顯式指定查詢結(jié)果為空但日志無報(bào)錯(cuò)常量折疊或 null 短路導(dǎo)致 UDF 未執(zhí)行檢查執(zhí)行計(jì)劃 EXPLAIN確認(rèn) UDF 是否被下推8. UDF 擴(kuò)展方向與調(diào)試建議8.1 從 UDF 到 UDTF 和 UDAFUDF 是一進(jìn)一出UDTF 是一進(jìn)多出比如把一行拆成多行UDAF 是多進(jìn)一出聚合函數(shù)比如自研 sum。如果業(yè)務(wù)上需要把 JSON 數(shù)組字段展開成多行就需要寫 UDTF這屬于GenericUDTF的范疇。UDAF 的情況更復(fù)雜一點(diǎn)Hive 3.1.2 推薦直接繼承AbstractGenericUDAFResolver和實(shí)現(xiàn)GenericUDAFEvaluator中間設(shè)計(jì)到Mode狀態(tài)機(jī)PARTIAL1、PARTIAL2、FINAL、COMPLETE不同階段對應(yīng)不同的iterate、merge、terminate方法回調(diào)。這塊建議單獨(dú)開項(xiàng)目不要在簡單 UDF 基礎(chǔ)上改動(dòng)。8.2 Debug 技巧日志輸出定位問題集群環(huán)境不好打斷點(diǎn)大部分 UDF 問題靠日志定位。Hive 的LogHelper可以輸出到 Hive 日志中import org.apache.hadoop.hive.ql.log.PerfLogger; // 或者使用 slf4j private static final Logger LOG LoggerFactory.getLogger(MaskPhone.class); Override public Object evaluate(DeferredObject[] arguments) throws HiveException { if (LOG.isDebugEnabled()) { LOG.debug(參數(shù)值: arguments[0].get()); } // 業(yè)務(wù)邏輯 }日志級別在log4j2.properties或hive-log4j2.properties里配置。調(diào)成 DEBUG 后跑一條小數(shù)據(jù)量的 SQL就能看到 UDF 的輸入輸出。查到問題后記得切回 WARN 級別避免日志量把集群磁盤打滿。我在實(shí)際開發(fā)過程中最后悔的一件事就是最開始沒養(yǎng)成良好的判空習(xí)慣導(dǎo)致上線后遇到空值 NPE還得緊急改版本重新打包。另外每次改完 UDF 記得清掉 Hive 的緩存有時(shí)候函數(shù)注冊信息在 session 里是帶緩存的重新注冊同名函數(shù)時(shí)可能調(diào)用的還是舊版本。這種情況可以DROP FUNCTION后重新CREATE或者重啟 beeline 再試。這個(gè) UDF 項(xiàng)目后續(xù)很好擴(kuò)展同一套框架下可以繼續(xù)封裝字符串脫敏系列身份證、郵箱、銀行卡號、JSON 解析系列、時(shí)間處理系列打包成同一個(gè) jar注冊一批函數(shù)形成團(tuán)隊(duì)內(nèi)部的自研函數(shù)庫開發(fā)和維護(hù)成本都會(huì)明顯降下來。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
精品少妇人妻一区二区三区| 97超碰9| 色综合av综合久久| 国精综合一二三区影视| 色小视频蜜乳| 亚洲中文日韩欧美大香蕉视频| av一区二区三区四区| 亚洲伊人久久精品影院| 九九超碰综合网| 熟妇最新先锋一二三区| 天天色香欲综合网| 五月天久久久| 91成人久久| 97视频在线视频| 国产粉嫩蜜臀av一区二区三区| 婷婷五月色| 国产最新小视频在线播放下载| 中文字幕日韩精品一区二区三区| 国产97视频免费观看| 天美91| 欧美高清在线| 天天日骚逼熟女| 伊人久久婷婷| 成人性爱全视频观看| 国产精品免费1区2区视频| 怡春院久久| 深爱激情五月天| 久久久亚洲高清不打码| 偷拍 欧美 日韩| 亚洲情色 自拍| 亚洲精品人伦一区二区| www.高清无码诱惑一区.com | 国产吹潮女在线观看| 美腿色图| 国产一区二区av综合| 9国产超碰| 国产精品久久蜜乳av| 青青草无码视频| 欧美日韩人妻少妇 一区二区三区| 婷婷综合五月| 91天天日| 久偷拍欧美日韩三区| 91高跟美女在线播放| 中文字幕精品人妻丝袜| 亚洲综合888| 白丝AV网站| 青青草吊丝| 中文字幕精品人妻丝袜| 96免费视频在线| 大香蕉国产中文自拍| 四虎视频在线观看| av影院十区| 精品免费囯产一区二区三区 | 伊人国产av| 九九玖玖精品| 天天天堂影视日韩亚洲91| 操死我了啊啊啊| 无码欧美有限公司| 久久精品综合| 色吧91| 一区二区乱码福利| av在线播放国产一区| a一区二区三区乱码在线| 欧美熟妇精品黑人巨大91| 色情亚洲日本成人| 999熟女精品| 97中文综合| www欧美91| 超碰美女97| 欧美一区二区三区互相| 人妻人人做人人澡人人爽欧美一区| 欧美日韩在线小说 | 校园春色 亚洲| 中日韩久久久免费看| 亚洲情色图片区| 久久久久久久六六| 欧美岛国精品在线观看| 久久久久久久亚洲Av无码| 午夜美女福利视频| 亚洲成人久久美女| 99色婷婷中文字幕乱色| 欧美色性情| 超碰无码加勒比| 欧美麻豆成人同性GⅤ在线| 夜夜嗨AV一区天天| 欧美成人精品一区| 亚洲欧美自拍偷拍| 91爆操视频| 欧美日韩激情无码专区| 免费看毛片操穴| 久热久| 精品传媒在线一区| 性色av婷婷久久一区二区点复制| 青青草天天亲夜夜操网| 东北女人| 韩国一级做a久久久久| 国产精品自拍欧美在线| 天天干天天狼在线视频| 超碰中文字幕人妻草一区| 干b在线性社区| 久久久久国色αv免费观看| 国产精品久久久久久久AV大片 | 色色香蕉| 99999精品成人| 2020中文字幕在线观看| 日本有码影片下载| 91美女视频| 日本一级性爱| 夜夜高潮夜夜爽高清视频一| 久久大线蕉一区| 色悠久| 亚洲操逼视频网站| 久久一二三四五六七八九区| 强奸国产在线| 国产精品视频| 国产精品无码久久久久2028| 天天干天天中出av| 在线无码视频| 亚码人妻| 欧美日韩香蕉| av天堂加勒比| A级毛片在线看免费| a网站免费观看| 日本黄页视频在线观看| 日韩欧美中文| 男人的天堂日韩| 日本三级一区二区 在线| 免费农村成人少妇人妻Aa一区二区视频 | 99这里只有精品| 亚洲青青草| 欧州91高潮| 老鸭窝亚洲毛片| 日本欧美中文字幕| 婷婷情色五月天| 男人的天堂午夜av| 亚洲 图片 综合91| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 色av中文字幕| 强奸乱伦av电影| 啊啊啊好爽快点啊啊啊嗯嗯| 精品一久久久| 99久久久无码国产精品性男| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 国产亚洲精品玖玖玖在线观看| 98一区二区精品| 婷婷激情四射| 妇人噜噜| 九九热精品| 国产深夜福利| 少妇内射www在线观看视频| 国产精品免费日韩| 97人人爱人人做人人乐| 日韩99精品视频综合区| 色天堂在线观看| 欧美亚洲中文字幕| 亚洲综合20p| 九九英色视频| 97精品一区二区视频| 无码抄逼网| 美女t无毒不卡不卡| 国产原创自拍| 一区二区三区 日韩欧美| 亚洲成人帖图| 国产丝袜美腿美女麻豆| 精品国产肉丝袜在线拍国语| 久热这里| 久久97资源 网| 日韩乱伦影音先锋| 中文久久久| 国产67194| 日本人妻中文字幕| 日日不卡av| 热久久99999| 9色在线| 日本精品中文字幕视频| 色97干| 国产精品久久久久久久免牛肉蒲团| 久久精品人人做人人看| 老鸭窝黄色视频网站| 天天色播亚洲综合网站| 永久免费观看的毛片的网站| 在线 欧美 亚洲| 8050午夜少妇无码| 中文字幕午夜精品久久久| 天天摸,夜夜摸| 丁香六月东京热| 天天激清| 高清无码一区二区三区| 免费成人自拍视频在线| 亚洲欧美小说| 久久无码精品| 蜜桃午夜视频一区二区| 日韩啪啪啪视频| 国产原创精品| 屌色在线97视频| 91碰碰碰| 91视频观看网站| 激情婷婷| 91大胆欧美| 99这里只有精品| 黄片无码在线制服| 久久久亚洲Av| 久久超碰国产一区二区三区| 国产捆绑一区| 欧美五十路熟| 狠狠操夜夜| 熟女91网站| 亚州精品人妻一二三区| 久草成人影片| 91精品人妻一区二区三区蜜桃臀| 草草影院最新网址| 亚洲无码太久| 国产精品一区二区 尿失禁| av在线不卡一区二区三区| 看免费一级在线播放毛片| 欧美日韩1234| 肏逼视频日本| 99精品成人免费看| 亚洲中文字幕av| 亚洲黄色影视| 欧美中文字幕男人天堂久久精品| 欧美午夜视频精品久久| 亚洲精品乱码久久久久久蜜桃麻豆 | 啪啪性爱免费视频| 2019久久久久久久久福利| 亚洲国产av中文字幕久久| 丝袜视频网国产90| 人妻铁牛TV| 欧美高清18A片| 国产精品久久久久久无码红治院| 亚洲欧洲中文日韩女优乱码| 333kkkk·亚洲com久久| 91麻豆va国产精品| 蜜桃视频精品一区二区| 乱色视频中文字幕| 97 超碰 人人做 人人爱| 久久超碰亚洲人| 91草草草| 97亚洲欧美| 强奸抽插av| 亚洲一级性爱视频免费看| 性爱乱伦网址| 天天添天天干电影| 青青草黑寡妇男人天堂| 激情小说亚洲视频| 乱性AV| 国产精品一区二区 尿失禁| 99无码精品| 高树玛利亚无码流出| 91/欧美| 91欧美经典| 久热影视| 五月天婷婷成人网| 国产精品欧美激在线| 97欧美日韩精品| 日本一区二区亚洲综合| 久久久久成人亚洲国产| 久久三| 性爱动态120秒| 亚洲色图综合网| 婷婷爽人人婷婷爽视频| 无码国产精品久久久久| 亚洲影院小综合| 亚洲日韩狠狠撸视频| 东京热一区二区中文字幕| 天天色综亚洲91污| 性色av一区二区| 久久伦理视频久久大香蕉视频| 亚洲狼狼干综合1| 久久熟女精品不卡一区| 成人性爱美曰韩| 日韩乱伦视频| 99 国产丝袜在线| 97在线免费| 超碰在线人妻| 久久风骚城市| 五月综合婷婷久久网站| 在线观看A啊啊啊| 99re超碰| 色性综合| 天操天操夜操夜月月年年操操| 中字一区| 亚洲91网| 久草成人福利导航| 久久久不卡| 天天做日日爱夜夜爽| 欧美性,色九九| 国产偷人伦激情在线观看| 五月丁香久久| 97超碰超碰| 熟女六十路| 超碰视97中文| 牛黄色久午久| 亚州精品丝袜-不卡成人免费| 91美女视频在线| 九九九九精品| 99热这里只有精| 亚洲美女AV无码| 国产精品无码久久久久2028| 97这里都是精品| 91社区伊人| 日韩伦理视频| 国产亚洲精品激情| 亚洲网污污污污| av网站在线观看了| 亚洲精品不卡一二三区| 色色色五月婷婷| 色欧美综合| 久操B网| 天天看天天干| 黄色十八禁| 欧美日韩国产高清在线一二三区 | 91Chinese在线| 性爱综合一区二区| 无码人妻系列少妇| 91精品导航| 国产不卡免费在线视频| 天天舔天天 | 蜜臀无码视频在线观看| 欧美性爱一内片一区二区三区| 亚精品无码毛片一区二区三区| 少妇熟女一区二区三区| 日本www操操操| 在线观看啊啊啊啊啊| 久久五月丁香| 国产乱伦亚洲色图高清无码| 天堂网 主播 亚洲| 情色日播放AV| 秋霞曰韩R级| 久久久一区二区三区四区五区| 97欧美性爱| 大香蕉中文网| 狠插 制服 自拍| 探花激情视频| 自拍偷拍草一草| daxiangjiao你懂的| 色哟哟的毛片| 日韩国产乱子伦App| 九九热国产| 人人妻人人色| 九九热视频在线观看| 黄色成人网久久久久久| 性色aV一区二区三区噜噜| 白丝jkav| 男人下部插入女人下部| 强奸乱伦资源| 国产精品点击进入在线影院高清| 射丝袜高跟鞋99| 色狠狠 - 百度| 啊啊啊快操我视频| 日本亚洲vr欧美不卡高清专区| 国产深夜福利| 天躁夜夜躁2021| 男人的天堂色偷偷青青草视频婷婷网| 秋霞一级鲁丝片A片| 欧美综合传媒| 色天使大香蕉| 999久久久久久久精| 中日韩熟女| 五十路熟女,国产欧美精品区一区二区三区 | 免费啪啪av| 人妻精品综合中文字幕在线| 91久久免费视频互動交流| 久久精品中文字幕女同| 色av中文字幕| 久久伊人在线五区| 日本 欧美 亚中文字幕| 717影院理论午夜伦八戒| 91露脸熟女专区| 97免费视频在线观看| 插插综合网天天影视网| 中出在线视频| 91精品国产乱码| 美骚妇av高清在线| 国产福利夜| 婷婷三区| 亚洲官网在线| 久插综合| 亚洲吊色| 国产第11页| 屌逼传媒| 97在线免费看| 国产欧美精品日韩区二区麻豆天美| 午夜小电影在线插入淫高潮| 一区二区三区国产在线播放| 亚洲精品久久久久毛片A片拉屎| 亚洲码和欧洲精品激情系列| 国产一级久久久| 日韩伦理视频| 五月天激情网图片| 欧美躁死她一区二区| 丁香五月天啪啪| 大香蕉啪啪网| 观看免费区二区三区二| 中文字幕五区| 亚洲成人性爱在线观看| 国产成人精品日本视频| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 日韩国产中文字幕| 猛交交| 手机在线A片| 中文字幕日韩人妻视频一区二区三区| 国产精品内射婷婷一级二| 日韩电影在线观看网址| 久热精品在线国产| 日韩一级片在线看| 欧美少妇熟女| 2019天天操天天爽天天拍| 人妻酒店出差被中出免费在线播放| 91校园春色长篇| 少妇一线天久久久久久| 久草资源在线视频官方总站日韩丝袜美腿| 天天干天天拍| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 色哟哟 日韩精品| 伊人丁香五月婷婷| 午夜性生活av免费在线看| 亚洲交换| 精品国产乱码久久久久久日本公司| 91jk色拍| 一区=区三区视频| 人妻少妇色综合| 丰满翘臀美女影院视频| 欧美一区二区三区成人性生活| 尤物av网站| 97超碰在线资源网站| 91精品国产91久久久久久久久久久久| 丝袜狠狠草尤物 91| 精品人妻丰满熟妇一区二区三| 精品人妻伦一区二区三区久久| 免费亚洲国产精品久久一区| 婷婷久久五月综合激情| 国产成人免费观看在线视频| 国产精品久久久久绯色| 国产精品高朝久久久久久久| 国产高清自拍视频| 韩日色费| www.婷婷六月天| 强奸熟女一区二区三区| 无码久久亚洲高清,| 国产精品亚洲免费| 九月色婷婷| 精品一久久久| 人妻少妇久久| 在线看的av| 伊人成人中文字幕久久网| 日韩美女高潮喷水视频| 人妻少妇久久中文| www.久久制服糖| 欧美九9 9 9| 亚洲图片欧美另类综合免费视频大大香| 亚洲熟女乱综合一区二区三区| 色男人色天堂东京热| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 亚洲第一二区另类图| 91国模| 综合色99| 一本久久久精品| 国产久久av| 九九九九九用不成了| 久久超碰网| 亚洲激情综合| 天天干人人乐| 五十路六十路素人熟女| 欧美专区第一页| 96超碰网| 丁香五月影院| 精品69网| 夜夜操天| 日本成人免费一区二区三区| 亚洲AV小说| 色欧美综合| 一二三四免费视频| 丝袜足交视频| 欧洲免费一区二| 2017av无码免费无线播| 天堂资源欧美| 天天谢天天干| 中文字幕伊人| 岛国成人av在线播放网址| 久久久性少妇| 麻豆天美电影一区二区| 欧美亚洲自拍另类人妻| 操婷婷逼| 9丨久久九九九| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 97精品第3页| 久久久久久亚洲Av无码| 亚洲电影91| 中文字幕狠狠玩| 舔人妻中文免费视频| 五月婷在线| 日本欧美中文字幕| 成人片视频| 美女自卫慰黄网站免费| 男人午夜天堂| 超碰av在线| 夜色综合| 九九九九免费高| 最新日本中文字幕| 亚洲揄拍网| 永久免费观看的毛片的网站| 91天美传媒精品| 夜色AV无码手机在线影院| 丝袜美腿91| 亚洲伊人久久精品狠狠在线| 波多野42部无码喷潮在线观看 | 嗯嗯啊啊好疼| 日韩去日本高清在| 熟妇乱伦一区二区| 超碰碰小说97| 偷拍网站久久男女男| 无码操逼网| 免费视频97| 免费看污网址| 亚洲高清无码在线桃色| 久9精品| 久久久久亚洲一区女同性恋中文字幕| 久草尤物| 水滴偷拍| 日韩 欧美 国产 麻豆| 天天流夜夜操| 久久鲁干| 日本十八禁免费看污网站| 老熟乱一区二区三区四区| 黄色不卡视频| 夜夜爽妓女| 91久久婷婷| 综合在线导航一区| 男人女人18禁片免费看网站| 一区二区影视| 天天天干977| 久久精品高清无码一区| 青春草A| 91久久精品中文字幕| 天堂无码| 超碰美国| 啊啊啊啊嗯嗯在线久久久| 北条麻妃性愛视频| 久久免费看高潮毛片韩国| 天天爽人人综合免费7799| 美女尤物人人操| 欧美一级黄色免费专区| 国产97在线 | 亚洲| 国产suv精品一区二六| 精品然女一区二区| 男人的天堂色偷偷青青草视频婷婷网| 最新三级网址| 高清在线不卡一区二区 视频| 日韩精品怡红院| 中文字幕在在线观看网站| 九九热精品| 黄色av网站在线播放| 亚洲影视高清第一页| 国产久久一区二区| 97超碰总站| 精品久久久久久亚洲| 国产欧美一区激情交| 中日韩一区二区三区欧美| 久久东京热久久| 美欧色综合| 国产97免费视频| 东北熟女91| 91亚洲在线| A 天堂| 熟妇xxxxx性春色| 激情小说图片亚洲首页| 五十路六十路七十路熟婆| 国产多人在线观看视频| 国产黄色影片在线观看| 骚女天天综合网| 91美女视频| 国产精品一二三区18| 久久受www免费人成| 亚洲精品一二区| 国产三级中文有码在线视频| 亚洲图片偷拍视频区| 九月丁香婷婷| 香蕉一区二区三区在线视频 | 久久这里只| 91夜色| 最新亚洲人成网站在线影院| 福利在线观看一区二区| 91国产精品在线看| 精品十三区| 欧美玖玖爱免费玖玖| 亚洲 欧美 日本 国内 首页| 五月天亚洲色图| 日本三级A片网站com| 天天插网| 欧美日韩性爱无码| 欧美色图天堂在线| 成人天天看站长推荐| 超碰欧美97资源| 97免费在线视频| 国产精品无码av嫩草| 色五月激情综合网| 97综合国产精品高潮久久| 加勒比久久av| 国产成人啪一区二区| 欧美综合第一页| 免费一级黄色录像影片| 再深点灬舒服灬太大了添视频 | 久草资源在线视频官方总站日韩丝袜美腿 | 志村玲子视频一区二区| 午夜欧美神马久久久久| 久久亚洲一区女同性恋中文字幕 | 久久久久国产一区二| 国产亚州高清国产拍精| 美腿色图| 久热久| 蜜臀久久99精品久久久久久无删减 | 美女淫穴| 蜜桃丰满熟妇av无码区不卡| 日韩一级二级三级在线不卡观看完整| 国产乱子伦久久精品综合一区二区三| 男女无套 免费网站| 天天日天天干天天操| 国产欧美日韩精品中文| 嫩草伊人久久精品| 久久久九九九| 亚洲欧美日韩综合在线尤物| 久久久久密臀视频| 精品国产av一区二区三区四区入口| 日欧操屄| 日韩紧密久久| 91精片| 六月丁香啪啪啪| 亚洲乱熟女一区二区| 亚洲成人无码影院| 美欧老女人97| 欧美成人精品一区二区男人蜜臀| 这里只有精品97| 人人干人人搞人人摸| 日韩电影天堂视频一区二区| 亚洲中字幕日本一区二区三区| 在线观看高清AV| 亚洲欧美成人在线| 肉丝中文无码高清| 超碰午夜| 国产又黄又猛又粗又爽的网站| 国产美女激情| 中文字幕日韩电影人妻| 国产美女91视频| 家庭乱伦国产精品| 久久超碰免费的| 久久久久女教师免费一区| 日韩国产精品人妻无码久久久| 秋霞成人一级在线观看| 色五月综合网| 亚洲性猛交| 99精品欧美一区二区三区桃色| 无码色| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 超碰午夜| 久久国产在线一区二区| 台湾佬中文娱乐自偷自拍| 国产在线综合福利网站| 绯色AV粉色AV蜜臀AV| 蜜臀AV秘一区翔田千里| 天天舔天天日天天射| 国产99久久99热这里只有精品15| 国产精品视频电影| 东京热视频网| 欧美夜夜狠| 97精品视频在线| 久久婷婷伊人| 亚洲无码精品AV久久久| 狠狠躁天天躁日日躁| 在线看片国产精品每日更新| 91亚洲影院综合| 日本免费中文字幕在线| 色婷婷一区二区三区久久午夜 | 狠插 制服 自拍| 亚洲高清无码在线桃色| 午夜精品久久久久| 无码WWW免费视频网站| 色女综合| 青娱乐国产精品| 国产青视频| 日韩性爱再线视频| 久热大香蕉网站| 26uuu欧美| 国产精品久久久久久久久久梁医生| 欧美亚洲国内自拍| 久久久久久电影| 东北老熟女| 夜夜騷av、一區二區| 俺去俺来也在线www| 日本精品五区| 亚欧洲一区二区视频| 欧美精品四区| 黄色AAAAA欧美| 啊啊啊啊啊啊啊啊在线观看| 97精品97| 看看小穴| 亚洲夜夜欢无码一区二区| 超碰97人妻免费在线| 96精品久久久| 日韩78m视频| 男人的天堂2019AV| 在线人人人人人人精品超| 久久久内射良家| 中文字幕一区 二 区 三 四 五 区日 日 骚| 精品国产乱码久久久A| 丰满精品人妻少妇久久字幕| 中文字幕一区av| 在线中文字幕极品av| 日本熟女不卡视频| 91熟女丨91老女人| 日韩专区久久久| 国产午夜视频| 人妻密肉在线观看| 欧美成人都市人妻| 十八禁啪啦拍视频无遮挡| 国产精品 久久久精品一牛| 亚洲色图综合网| 天堂国产AV| 手机av天堂久久久久| 女人高潮抽搐喷水视频网站| 亚洲天堂人妻熟妇视频| 久久婷婷一区| 高清不卡 中文 人妻| 欧美暴力猛交| 久久天天躁日日躁狠狠躁 | 综合色播| 国模精品一区二区三区苹果色戒| 玖草在线视频| 麻豆成人AV| 丰满人妻-区二区三区免费看 | 97er欧美性| 欧美亚洲AN| www九九热| 强奸乱亚洲| 精品人妻一区二区三区四区石在线 | 麻豆天天躁天天揉揉AV| 99久在线精品99re8热视频在线| 中文字幕在线免费观看视频| 粉嫩不卡一区二区性爱| 综合影视国产无码| 午夜欧美女人操逼| 免费a在线播放v| 人人考人人摸人人干| 黄片在线免费在线观看| 免费视频a级毛片免费视频| 成人黑料社久久| 国产伦精品一区二区三区在线观 | 亚洲综合性网址| 亚洲精品一卡二卡三卡福利视频网站| 女优免费一区二区永久| 日韩色欲久久一二三四区| 综合 亚洲 欧美| 少妇一区二区三区| 日韩簧片免费看| 伊人精品久久网站| 91天堂色男人的天堂| 免费综合亚洲中文| 欧美黄色大片在线观看| 免费岛国一级片| 超碰色男人操熟女| 天堂中文日本在线观看| 日本黄色大片一级视频免费麻豆| 欧美天天性| 亚洲国产精品无码AV久久久| 99夜夜操| 9久在线视频只有精品| 一区二区三区高清天码| 亚州操逼网| 久久极品一区二区| 久久99手机免费视频| 美女丝袜激情小说| 欧洲精品一级二级精品综合视频综合| 91精品国| 超碰欧美97资源| 久久久久9999精品九九九| 欧美综合自拍亚洲综合图| 亚洲凸凹超碰成人| 亚州欧美在线| 伊人一区二区在线播放| 熟女突然公开看18禁影片| 欧亚乱色熟女一区二区| 91粉芽高清在线一区二区 | 青青草久草AV| 亚洲欧美高清| 夜嗨影院| 亚洲 图片 欧美 色图| 久9久| 国产精品高朝久久久久久久| 超碰9 7女人 | 日日嗷| 亚洲自拍另类丝袜综合| 一区二区三区美女超清| 丁香五月AV| 一区二区三区男女操逼黄色小电影| 青青青操| 9久9久| 欧美性爱无码一区二区三区| 91大学精品激情戏| 亚洲高清男人天堂| 黄色香蕉视频网站一区| 无码色| www.acm成人黄色毛片| 男女做爰猛烈动高潮A片免费应用| 91精品国产91久久福利| 国产伦精品一区二区三区在线观| 激情六月婷婷| 欧美第一页| 欧美gv在线观看| 激情综合97| 色97欧美| 草莓精品视频| 亚洲国产丝袜在线观看| 日韩一区二区精彩视频| 久久,精品一二三| 美女十八禁| 亚洲第一无码播放立川理惠| 久干网| 免费啪啪av| 温婉少妇玩3p| 日韩欧美视频青青| 蜜桃午夜视频一区二区| 黄片免费久久久久久久| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 日韩有码中文字幕女同性恋| 国产小黄片在线免费观看| 久久爽爽精品| 亚洲色婷婷综合久久久久中文| 91黑丝在线| 天天爽天天爽| 超碰美国| 台湾佬激情综合| 日韩不卡网操逼中文字幕日韩| 日本一二三免费久久| 国产1769在线| 亚洲国成人情色好看电影| av亚欧| 久久精品天美| 国产精品亚洲无码| 91久久久老司机| 国产专区第一页| 四虎在线观看网站| 美女黄频a美女大全免费皮| 欧美综合777| 熟女乱伦二区| 色噜噜国产精品视频一区二区| av绯色| 怡红院亚洲怡春院av| 免费看久久久性性| 久久伊人影院| 亚洲欧美综合色| 成在线人在线观看视频| 欧美激色| 婷婷色在线| 好色综合| 嗯啊不要啊在线 | 婷婷操逼| 美女黄网| 99蜜桃臀亚洲成人在线观看| 欧美顶级黄色大片免费| 青青草伊人久久| 99999re| 中文97国产| 国产精品一二三在线看| 亚洲深夜福利| 麻豆性爱视频在线播放| 亚欧Av| 3PAV乱伦视频| 久久精品电影| 综合色图,成人综合网| se吧提供国产乱老熟视频胖女人| 日韩精彩免费| 日本操逼视频导航| 日日夜夜摸| 91男人天堂网| 日韩国产乱子伦App| 91 偷| 嗯嗯啊啊好疼| 午夜精品久久久久久久男人的天堂| 97超级久久| 亚州精品丝袜-不卡成人免费| 欧美激情一区| 婷婷九月丁香| 老熟女区| 婷婷激情五月| 欧美日产国产在线成人第一区| 2019天天操天天爽天天拍| 8050午夜少妇无码| 国产精品不卡一区二区三区av | 26uuu欧美日韩| 插插综合网天天影视网| 国产60区。| 婷婷五月天成人网| 欧美色性爱| 精品国产一区探花在线观看| 成人开心网在线视频| 日韩欧美丝袜诱惑| 国语人妻精彩刺激| 乱伦熟女区| 国产精品人妻熟女aⅴ| 凹凸精品熟女在线观看| 久久久少妇诱惑精品视频| 亚洲欧洲精品成人| 欧美国产日韩清纯唯美| 国产成人bd在线观看| 一级岛国大片| 国产精品免费久久久久久久久久| 最新亚洲风情电影| 天天综合,91综合永久| 亚卅熟女乱色| 艹比视频国产精品| 一本色道熟妇| 亚洲欧美日韩中文久久自慰| 五月天综合网| 日本人妻一区二区| 日本三级韩三级99久久| 青娱乐福利99| 999久久久| 亚洲国产97| 综合色区偷拍| 色97欧美| 久久久久成人网| 亚洲色图8| 97久久久久久久久久| 久久99国产综合精品女同| 五月丁香综合激情| 国产亚洲色婷婷久久99精品91| 天天看精品动漫视频一区| 青草精品视频日本久久久久网站在线| 美女91在线观看| 综合久欧洲| 天天弄欧美| 九九热五区| 佐山爱中文字幕| 操逼精品视频| 很很很很操| 青青草密桃在线播放| 亚洲老熟妇xxx| 亚 欧 美 综合| 97网址www| 日韩一区二区熟女| 99九九久久| 国产亚洲精品美女| 色五月激情AV在线| 玖玖资源视频一区二区三区| 欧美后入式| 色综合大香蕉| 天天网综合| 国产强奸AV在线| 国产精品区在线12p| 最新中文字幕精品在线| 亚洲最大的综合性av| 日本韩欧美在线播放a| 丁香色婷婷| 九九热男人天堂| 99热啪啪| 国产欧美一区二区| 欧美伦乱爱| 久久a久久| 日日夜夜青青草母狗| 日韩美脚一区二区网站| 和协无码影院| 91 国产丝袜在线播放-百度| 97在线/亚洲| 免费岛国一级片| 外国91| 亚洲av国产av综合av卡| 国产69精品久久久久99尤物| 久久五月天婷婷| 高清不卡视频| 天天天操天天天爱| 亚洲色图欧美色图制服诱惑| 欧美日韩不卡传媒| 亚洲一区日韩精品中文字幕| 欧美操逼熟女| 亚洲 欧美 天天| 国产性爱欧美性爱在线| 性生活无遮挡纯毛片在线看| 亚洲精品国产熟女久久久| 性色A∨91| 无码最新| 男人的天堂在线有码| 亚洲色图 综合| 黄骗免费网站| 在线人人人人人人精品超| 久久发布国产伦子伦精品| 亚洲丝袜99| 欧洲性爱无码区| 亚洲 无码 偷拍| 人人干人人搞人人摸| 富二代亚洲精品99| 综合欧美色图| 日本狂喷奶水在线播放212| AV 少妇 人妻 偷拍| 日韩乱码Av| 九热超碰| 久热精品在线国产| 成人资源中文字幕在线观看天天| 玖色AV| 淫穴高潮色图| 亚洲欧美在线观看无码| 青青草视频这里只有精品| 九九九九九九九九九九九蜜桃| 天天干人妻视频| 国产一区在线观看无码AV | 日韩97视频!在线| av橘色网站| 日逼视频日本| 伊人久久大香大香线蕉中文| 日韩人妻网站| 少妇久久久久久| 91久热| 五月天人妻综合| 日本加勒比无码专区| 92午夜免费福利视频| 九九九九九九九九九五码| 超碰欧美97资源| 国产高清无码一区三区二区| 人妻精品4K4K4K4K4| 97综合国产| 丁香五月影院| 久久蜜桃一区二区| 亚洲国产欧美中日韩成人综合视频| 男人的天堂亚洲| 日本不卡中文| 日本网色| 亚洲色性情三级| 国产精品点击进入在线影院高清| 再深点灬舒服灬太大了添视频| 黄色av一区二区在线| 99国内熟女露脸视频| 亚洲成人日韩小说| 欧美熟女少妇| 欧美在线天堂| 五月天综合在线| 美欧色综合| 精品亚洲黄色片 国产精品导航一区二区 | 色色色色色色色色色色色色色色综合| 亚州综合AⅤ| 中文色综合| 天天摸夜夜操视频| 国产成人一级av88| 最新9久久久9免费视频| 成人免费福利网站国产| 综合天天。| 级做a爱无码性色永久免费| 久久av网| 欧美极品性爱天天射| 久久久久斤小| 大屁股xxxxx| 60秒不遮不挡| 国产馆极品诱惑| 日产欧美电影一区二区三区| 狠插 制服 自拍| 色五天伊人| 91精品操美女| 一牛影视成人片免费| 久操av在线| 久热无码| 国产精品美女久久久久久网站| 久久激情五月| 久久超碰97| 撸撸成人在线视频| 在线人人人人人人精品超| 小骚逼被操的爽不爽| J?P?NESEHD熟女熟妇伦| 欧美日韩大陆黑人少妇99| 欧美强奸一区二区诱惑| 偷拍盗拍亚洲色图图片| 亚洲天堂第一页| 亚洲精品无码少妇久久| 欧美日韩中文字幕人妻| 狠插 制服 自拍| 天天干天天狼在线视频| 超碰91在线| 亚洲鸥美色图| 国产按摩一区二区三区| 欧美人人曰人人操人人射射| 亚洲在线观看| 欧美日日夜夜| 91干熟女| 日本黄大片在线观看视频| 久久久久国产亚洲一区欧美色图日韩| 天堂性色| 欧美亚洲美少妇一区二区| 一区二区三区精品视频| 日本黄色大片一级视频免费麻豆| 99热亚洲| 91搞逼视频| 久久啊啊| 色性欧美| 搡老人老9丨女老熟人| 777超碰| 91麻豆天美国产欧美| 成年人三级黄色片视频| 日韩人妻无码不卡网站| 欧洲精品久久| 久热色情精品| 3p国产欧美99热| 国产一区二区在线播放量| 欧美综合色,www| 骚人妻少妇视频| 香一区二区三区| 大香蕉伊人久久| 国产精品欧美日韩久久| 国产无码成人无码| 欧美色交| 夜夜青青无码影院| 最新亚洲风情电影| 精品国产乱码久久久久久影片| 亚洲欧美另类激情小说| 久男人久久| 97亚洲欧美日韩| 三级片大波波| 96精品在线| 天天躁日日躁成人字幕aⅴ| 97超碰欧美精品| 久久精品天美| 日韩精品.久久精品.AV女优.天美传媒| 激情小说图片亚洲首页| 日本男人天堂| 超碰久超碰久| 亚洲影视高清第一页| 91丨精品丨国产丨丝袜| 久久亚洲不卡一区二区三区| 国产又黄又猛又粗又爽的网站| 国产精品麻豆免费视频| 翔田千里AV无码秘 三区| 72av视频| 天天天干977| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 青娱乐欧美激情一区二区| 可乐操亚洲蜜911| 人伦四五区| 蜜臀99久久精品| 啊啊啊啊,啊啊好多水| 天天天操天天天爱| 日本道日本道中文字幕日本道最新日本道在线观看 | 国产蜜臀精品一区免费尤物| 嗯啊不要啊在线 | 10000部十八禁看电影| 国产一区麻豆免费观看| 欧美天天综| 男人的天堂色偷偷青青草视频婷婷网| 自拍大香蕉乱插| 欧美性爱18观看| 久久久99免费| 日韩无码三级影院| 久久人人爽爽人人爽人人片αV| 国产老女人久久毛| 碰碰97| 干我久操| 萌白酱自拍视频| 欧美人与动性人交a| 国产搭汕a级片| 欧美色性情| 国产黄色剧情影片麻豆免费播放| 久九九九九九九九热| 啊啊啊久久| 日语五十路和六十路亚洲国产精品 | 高清成年美女黄网站免费大全|