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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

java导出hbase表数据_通用MapReduce程序复制HBase表数据

發布時間:2023/12/10 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java导出hbase表数据_通用MapReduce程序复制HBase表数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

編寫MR程序,讓其可以適合大部分的HBase表數據導入到HBase表數據。其中包括可以設置版本數、可以設置輸入表的列導入設置(選取其中某幾列)、可以設置輸出表的列導出設置(選取其中某幾列)。

原始表test1數據如下:

每個row key都有兩個版本的數據,這里只顯示了row key為1的數據

在hbase shell 中創建數據表:

create 'test2',{NAME => 'cf1',VERSIONS => 10} // 保存無版本、無列導入設置、無列導出設置的數據

create 'test3',{NAME => 'cf1',VERSIONS => 10} // 保存無版本、無列導入設置、有列導出設置的數據

create 'test4',{NAME => 'cf1',VERSIONS => 10} // 保存無版本、有列導入設置、無列導出設置的數據

create 'test5',{NAME => 'cf1',VERSIONS => 10} // 保存有版本、無列導入設置、無列導出設置的數據

create 'test6',{NAME => 'cf1',VERSIONS => 10} // 保存有版本、無列導入設置、有列導出設置的數據

create 'test7',{NAME => 'cf1',VERSIONS => 10} // 保存有版本、有列導入設置、無列導出設置的數據

create 'test8',{NAME => 'cf1',VERSIONS => 10} // 保存有版本、有列導入設置、有列導出設置的數據

main函數入口:

package GeneralHBaseToHBase;

import org.apache.hadoop.util.ToolRunner;

public class DriverTest {

public static void main(String[] args) throws Exception {

// 無版本設置、無列導入設置,無列導出設置

String[] myArgs1= new String[]{

"test1", // 輸入表

"test2", // 輸出表

"0", // 版本大小數,如果值為0,則為默認從輸入表導出最新的數據到輸出表

"-1", // 列導入設置,如果為-1 ,則沒有設置列導入

"-1" // 列導出設置,如果為-1,則沒有設置列導出

};

ToolRunner.run(HBaseDriver.getConfiguration(),

new HBaseDriver(),

myArgs1);

// 無版本設置、有列導入設置,無列導出設置

String[] myArgs2= new String[]{

"test1",

"test3",

"0",

"cf1:c1,cf1:c2,cf1:c10,cf1:c11,cf1:c14",

"-1"

};

ToolRunner.run(HBaseDriver.getConfiguration(),

new HBaseDriver(),

myArgs2);

// 無版本設置,無列導入設置,有列導出設置

String[] myArgs3= new String[]{

"test1",

"test4",

"0",

"-1",

"cf1:c1,cf1:c10,cf1:c14"

};

ToolRunner.run(HBaseDriver.getConfiguration(),

new HBaseDriver(),

myArgs3);

// 有版本設置,無列導入設置,無列導出設置

String[] myArgs4= new String[]{

"test1",

"test5",

"2",

"-1",

"-1"

};

ToolRunner.run(HBaseDriver.getConfiguration(),

new HBaseDriver(),

myArgs4);

// 有版本設置、有列導入設置,無列導出設置

String[] myArgs5= new String[]{

"test1",

"test6",

"2",

"cf1:c1,cf1:c2,cf1:c10,cf1:c11,cf1:c14",

"-1"

};

ToolRunner.run(HBaseDriver.getConfiguration(),

new HBaseDriver(),

myArgs5);

// 有版本設置、無列導入設置,有列導出設置

String[] myArgs6= new String[]{

"test1",

"test7",

"2",

"-1",

"cf1:c1,cf1:c10,cf1:c14"

};

ToolRunner.run(HBaseDriver.getConfiguration(),

new HBaseDriver(),

myArgs6);

// 有版本設置、有列導入設置,有列導出設置

String[] myArgs7= new String[]{

"test1",

"test8",

"2",

"cf1:c1,cf1:c2,cf1:c10,cf1:c11,cf1:c14",

"cf1:c1,cf1:c10,cf1:c14"

};

ToolRunner.run(HBaseDriver.getConfiguration(),

new HBaseDriver(),

myArgs7);

}

}

driver:

package GeneralHBaseToHBase;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.conf.Configured;

import org.apache.hadoop.hbase.client.Put;

import org.apache.hadoop.hbase.client.Scan;

import org.apache.hadoop.hbase.io.ImmutableBytesWritable;

import org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil;

import org.apache.hadoop.mapreduce.Job;

import org.apache.hadoop.util.Tool;

import util.JarUtil;

public class HBaseDriver extends Configured implements Tool{

public static String FROMTABLE=""; //導入表

public static String TOTABLE=""; //導出表

public static String SETVERSION=""; //是否設置版本

// args => {FromTable,ToTable,SetVersion,ColumnFromTable,ColumnToTable}

@Override

public int run(String[] args) throws Exception {

if(args.length!=5){

System.err.println("Usage:\n demo.job.HBaseDriver "

+ ""

+"< versions >"

+ " like or "

+ " like or ");

return -1;

}

Configuration conf = getConf();

FROMTABLE = args[0];

TOTABLE = args[1];

SETVERSION = args[2];

conf.set("SETVERSION", SETVERSION);

if(!args[3].equals("-1")){

conf.set("COLUMNFROMTABLE", args[3]);

}

if(!args[4].equals("-1")){

conf.set("COLUMNTOTABLE", args[4]);

}

String jobName ="From table "+FROMTABLE+ " ,Import to "+ TOTABLE;

Job job = Job.getInstance(conf, jobName);

job.setJarByClass(HBaseDriver.class);

Scan scan = new Scan();

// 判斷是否需要設置版本

if(SETVERSION != "0" || SETVERSION != "1"){

scan.setMaxVersions(Integer.parseInt(SETVERSION));

}

// 設置HBase表輸入:表名、scan、Mapper類、mapper輸出鍵類型、mapper輸出值類型

TableMapReduceUtil.initTableMapperJob(

FROMTABLE,

scan,

HBaseToHBaseMapper.class,

ImmutableBytesWritable.class,

Put.class,

job);

// 設置HBase表輸出:表名,reducer類

TableMapReduceUtil.initTableReducerJob(TOTABLE, null, job);

// 沒有 reducers, 直接寫入到 輸出文件

job.setNumReduceTasks(0);

return job.waitForCompletion(true) ? 0 : 1;

}

private static Configuration configuration;

public static Configuration getConfiguration(){

if(configuration==null){

/**

* TODO 了解如何直接從Windows提交代碼到Hadoop集群

* 并修改其中的配置為實際配置

*/

configuration = new Configuration();

configuration.setBoolean("mapreduce.app-submission.cross-platform", true);// 配置使用跨平臺提交任務

configuration.set("fs.defaultFS", "hdfs://master:8020");// 指定namenode

configuration.set("mapreduce.framework.name", "yarn"); // 指定使用yarn框架

configuration.set("yarn.resourcemanager.address", "master:8032"); // 指定resourcemanager

configuration.set("yarn.resourcemanager.scheduler.address", "master:8030");// 指定資源分配器

configuration.set("mapreduce.jobhistory.address", "master:10020");// 指定historyserver

configuration.set("hbase.master", "master:16000");

configuration.set("hbase.rootdir", "hdfs://master:8020/hbase");

configuration.set("hbase.zookeeper.quorum", "slave1,slave2,slave3");

configuration.set("hbase.zookeeper.property.clientPort", "2181");

//TODO 需export->jar file ; 設置正確的jar包所在位置

configuration.set("mapreduce.job.jar",JarUtil.jar(HBaseDriver.class));// 設置jar包路徑

}

return configuration;

}

}

mapper:

package GeneralHBaseToHBase;

import java.io.IOException;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.HashSet;

import java.util.Map.Entry;

import java.util.NavigableMap;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.hbase.Cell;

import org.apache.hadoop.hbase.KeyValue;

import org.apache.hadoop.hbase.client.Put;

import org.apache.hadoop.hbase.client.Result;

import org.apache.hadoop.hbase.io.ImmutableBytesWritable;

import org.apache.hadoop.hbase.mapreduce.TableMapper;

import org.apache.hadoop.hbase.util.Bytes;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

public class HBaseToHBaseMapper extends TableMapper {

Logger log = LoggerFactory.getLogger(HBaseToHBaseMapper.class);

private static int versionNum = 0;

private static String[] columnFromTable = null;

private static String[] columnToTable = null;

private static String column1 = null;

private static String column2 = null;

@Override

protected void setup(Context context)

throws IOException, InterruptedException {

Configuration conf = context.getConfiguration();

versionNum = Integer.parseInt(conf.get("SETVERSION", "0"));

column1 = conf.get("COLUMNFROMTABLE",null);

if(!(column1 == null)){

columnFromTable = column1.split(",");

}

column2 = conf.get("COLUMNTOTABLE",null);

if(!(column2 == null)){

columnToTable = column2.split(",");

}

}

@Override

protected void map(ImmutableBytesWritable key, Result value,

Context context)

throws IOException, InterruptedException {

context.write(key, resultToPut(key,value));

}

/***

* 把key,value轉換為Put

* @param key

* @param value

* @return

* @throws IOException

*/

private Put resultToPut(ImmutableBytesWritable key, Result value) throws IOException {

HashMap fTableMap = new HashMap<>();

HashMap tTableMap = new HashMap<>();

Put put = new Put(key.get());

if(! (columnFromTable == null || columnFromTable.length == 0)){

fTableMap = getFamilyAndColumn(columnFromTable);

}

if(! (columnToTable == null || columnToTable.length == 0)){

tTableMap = getFamilyAndColumn(columnToTable);

}

if(versionNum==0){

if(fTableMap.size() == 0){

if(tTableMap.size() == 0){

for (Cell kv : value.rawCells()) {

put.add(kv); // 沒有設置版本,沒有設置列導入,沒有設置列導出

}

return put;

} else{

return getPut(put, value, tTableMap); // 無版本、無列導入、有列導出

}

} else {

if(tTableMap.size() == 0){

return getPut(put, value, fTableMap);// 無版本、有列導入、無列導出

} else {

return getPut(put, value, tTableMap);// 無版本、有列導入、有列導出

}

}

} else{

if(fTableMap.size() == 0){

if(tTableMap.size() == 0){

return getPut1(put, value); // 有版本,無列導入,無列導出

}else{

return getPut2(put, value, tTableMap); //有版本,無列導入,有列導出

}

}else{

if(tTableMap.size() == 0){

return getPut2(put,value,fTableMap);// 有版本,有列導入,無列導出

}else{

return getPut2(put,value,tTableMap); // 有版本,有列導入,有列導出

}

}

}

}

/***

* 無版本設置的情況下,對于有列導入或者列導出

* @param put

* @param value

* @param tableMap

* @return

* @throws IOException

*/

private Put getPut(Put put,Result value,HashMap tableMap) throws IOException{

for(Cell kv : value.rawCells()){

byte[] family = kv.getFamily();

if(tableMap.containsKey(new String(family))){

String columnStr = tableMap.get(new String(family));

ArrayList columnBy = toByte(columnStr);

if(columnBy.contains(new String(kv.getQualifier()))){

put.add(kv); //沒有設置版本,沒有設置列導入,有設置列導出

}

}

}

return put;

}

/***

* (有版本,無列導入,有列導出)或者(有版本,有列導入,無列導出)

* @param put

* @param value

* @param tTableMap

* @return

*/

private Put getPut2(Put put,Result value,HashMap tableMap){

NavigableMap>> map=value.getMap();

for(byte[] family:map.keySet()){

if(tableMap.containsKey(new String(family))){

String columnStr = tableMap.get(new String(family));

log.info("@@@@@@@@@@@"+new String(family)+" "+columnStr);

ArrayList columnBy = toByte(columnStr);

NavigableMap> familyMap = map.get(family);//列簇作為key獲取其中的列相關數據

for(byte[] column:familyMap.keySet()){ //根據列名循壞

log.info("!!!!!!!!!!!"+new String(column));

if(columnBy.contains(new String(column))){

NavigableMap valuesMap = familyMap.get(column);

for(Entry s:valuesMap.entrySet()){//獲取列對應的不同版本數據,默認最新的一個

System.out.println("***:"+new String(family)+" "+new String(column)+" "+s.getKey()+" "+new String(s.getValue()));

put.addColumn(family, column, s.getKey(),s.getValue());

}

}

}

}

}

return put;

}

/***

* 有版本、無列導入、無列導出

* @param put

* @param value

* @return

*/

private Put getPut1(Put put,Result value){

NavigableMap>> map=value.getMap();

for(byte[] family:map.keySet()){

NavigableMap> familyMap = map.get(family);//列簇作為key獲取其中的列相關數據

for(byte[] column:familyMap.keySet()){ //根據列名循壞

NavigableMap valuesMap = familyMap.get(column);

for(Entry s:valuesMap.entrySet()){ //獲取列對應的不同版本數據,默認最新的一個

put.addColumn(family, column, s.getKey(),s.getValue());

}

}

}

return put;

}

// str => {"cf1:c1","cf1:c2","cf1:c10","cf1:c11","cf1:c14"}

/***

* 得到列簇名與列名的k,v形式的map

* @param str => {"cf1:c1","cf1:c2","cf1:c10","cf1:c11","cf1:c14"}

* @return map => {"cf1" => "c1,c2,c10,c11,c14"}

*/

private static HashMap getFamilyAndColumn(String[] str){

HashMap map = new HashMap<>();

HashSet set = new HashSet<>();

for(String s : str){

set.add(s.split(":")[0]);

}

Object[] ob = set.toArray();

for(int i=0; i

String family = String.valueOf(ob[i]);

String columns = "";

for(int j=0;j < str.length;j++){

if(family.equals(str[j].split(":")[0])){

columns += str[j].split(":")[1]+",";

}

}

map.put(family, columns.substring(0, columns.length()-1));

}

return map;

}

private static ArrayList toByte(String s){

ArrayList b = new ArrayList<>();

String[] sarr = s.split(",");

for(int i=0;i

b.add(sarr[i]);

}

return b;

}

}

程序運行完之后,在hbase shell中查看每個表,看是否數據導入正確:

test2:(無版本、無列導入設置、無列導出設置)

test3 (無版本、有列導入設置("cf1:c1,cf1:c2,cf1:c10,cf1:c11,cf1:c14")、無列導出設置)

test4(無版本、無列導入設置、有列導出設置("cf1:c1,cf1:c10,cf1:c14"))

test5(有版本、無列導入設置、無列導出設置)

test6(有版本、有列導入設置("cf1:c1,cf1:c2,cf1:c10,cf1:c11,cf1:c14")、無列導出設置)

test7(有版本、無列導入設置、有列導出設置("cf1:c1,cf1:c10,cf1:c14"))

test8(有版本、有列導入設置("cf1:c1,cf1:c2,cf1:c10,cf1:c11,cf1:c14")、有列導出設置("cf1:c1,cf1:c10,cf1:c14"))

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的java导出hbase表数据_通用MapReduce程序复制HBase表数据的全部內容,希望文章能夠幫你解決所遇到的問題。

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

偷拍区另类综合在线 | 日韩91在线 | 最近在线中文字幕 | 日韩在线视频线视频免费网站 | 日本公乱妇视频 | 国产精品网站 | 国产视频每日更新 | 精品久久久999 | 男女免费视频观看 | 99在线视频网站 | 天天射天天添 | 91av片| www.亚洲激情.com | 精品久久久免费视频 | 国产高清在线a视频大全 | 国产精品久久久久久99 | 国产爽妇网 | 999久久久免费视频 午夜国产在线观看 | 看毛片网站 | 亚洲免费婷婷 | wwwwww国产| 毛片网站观看 | 亚洲春色成人 | 国产精品二区三区 | 久久九九免费视频 | 在线观看亚洲成人 | 人人爽人人爽人人片av | av免费福利 | 久久av不卡| 日韩欧美一区二区在线 | 97人人爽人人 | 日韩av在线不卡 | av资源免费在线观看 | 狠狠gao| 国产精品成人一区 | 精品一区二三区 | 日韩av图片 | 亚洲最新精品 | 免费看黄视频 | 超碰免费久久 | 激情久久小说 | 国产精品欧美 | 人人添人人澡人人澡人人人爽 | 久久一线| 国产日产高清dvd碟片 | 顶级欧美色妇4khd | 国产精品黑丝在线观看 | 草免费视频 | 精品国产午夜 | 91最新地址永久入口 | 国产黄视频在线观看 | 97在线超碰 | 亚洲男男gaygay无套 | 在线不卡中文字幕播放 | 97精品超碰一区二区三区 | 久久视频免费 | 日本精品一区二区在线观看 | 国产在线精品一区二区不卡了 | 久久久国产一区二区 | 午夜精品一区二区三区免费视频 | 亚洲免费av片 | 97在线视频免费 | 午夜精品久久久久久中宇69 | 午夜精品久久久久久99热明星 | 国产黄色片在线免费观看 | 91麻豆文化传媒在线观看 | 国产免费久久精品 | 国产成人高清在线 | 免费福利视频网站 | 91人人爽人人爽人人精88v | 国产精品毛片久久久久久久 | 激情在线网址 | 久久中文字幕视频 | 在线免费高清一区二区三区 | 天天干,天天射,天天操,天天摸 | 日韩电影在线观看中文字幕 | 国产午夜三级一区二区三 | 精品久久国产一区 | 欧美男同网站 | 热久久精品在线 | 最近中文字幕高清字幕免费mv | 免费在线观看一区二区三区 | 999久久久国产精品 高清av免费观看 | 婷婷丁香色| 日韩av手机在线看 | 亚洲精品久久久久中文字幕二区 | 国产黄色精品网站 | 国产精品久久久久久久免费大片 | 黄色毛片在线看 | 久草在线手机观看 | 在线免费观看视频你懂的 | 伊人射 | 久艹在线观看视频 | 麻豆视频免费网站 | 伊人婷婷激情 | 黄色av大片 | 叶爱av在线 | 五月天婷婷狠狠 | 日本动漫做毛片一区二区 | 国产色在线,com | 天天天天色综合 | 激情欧美一区二区三区 | 欧美综合久久 | 天天爽夜夜爽精品视频婷婷 | 在线看v片成人 | 毛片在线网 | 亚洲闷骚少妇在线观看网站 | 干 操 插| 91亚洲精品国偷拍 | 一区二区欧美在线观看 | 国产中文字幕免费 | 亚洲国产高清视频 | 免费色视频在线 | 国产在线毛片 | 精品日韩中文字幕 | 午夜的福利 | 深夜国产在线 | 久草在线在线 | 亚洲伊人色 | 日韩免费一级a毛片在线播放一级 | 欧美一区在线观看视频 | 免费看的黄色网 | 狠狠操影视 | 九九热1 | 91精品毛片| 天天综合网久久综合网 | 在线观看中文字幕一区二区 | 超碰在线色 | 婷婷免费视频 | 黄色在线观看www | 91精品国产入口 | 在线观看视频亚洲 | 国产精品中文字幕在线播放 | 干干干操操操 | 欧美一区日韩一区 | 久久久久久久久久久久久久免费看 | 久久婷婷视频 | 日本久久久久久久久 | 国产精品福利小视频 | 欧美国产不卡 | 五月婷婷爱 | 亚洲精品国内 | 久久国产二区 | 西西44人体做爰大胆视频 | www.人人草| 黄色大片入口 | 在线日本看片免费人成视久网 | 国产香蕉97碰碰久久人人 | 欧美精品一级视频 | 欧美精品在线观看 | 国产成人精品午夜在线播放 | 伊人永久 | 狠狠躁夜夜躁人人爽视频 | 香蕉视频在线视频 | 欧美黑吊大战白妞欧美 | 偷拍视频一区 | 天天干天天操 | 欧美午夜精品久久久久久孕妇 | 天天爽夜夜爽人人爽一区二区 | 97视频资源 | 国产福利91精品一区二区三区 | 亚洲成人黄色 | 91人人澡人人爽人人精品 | 中文字幕 国产视频 | 男女全黄一级一级高潮免费看 | 成人av影视观看 | 亚洲精品小区久久久久久 | www好男人 | 日韩区欧美久久久无人区 | 国产精品自产拍在线观看蜜 | 中文国产成人精品久久一 | 天天做天天爽 | av中文字幕第一页 | 亚洲每日更新 | 亚洲四虎影院 | 久久一区二区免费视频 | 久久久国产精品人人片99精片欧美一 | 五月婷婷开心中文字幕 | 女人高潮特级毛片 | 成人亚洲精品久久久久 | 日韩有码第一页 | 亚洲精品国产成人av在线 | 天天操天天综合网 | 人人爽人人爽人人片av免 | 麻豆视频观看 | 91精品视频免费看 | 日韩精品亚洲专区在线观看 | 丁香五婷 | 国产日韩精品一区二区 | 日韩理论片 | 欧美日韩免费一区二区 | 色婷婷五 | 日韩精品久久一区二区 | 亚洲高清av在线 | 日韩国产精品久久久久久亚洲 | 精品在线观看国产 | 久久久网 | 成人免费在线播放视频 | 久久午夜视频 | 美女久久一区 | 91一区啪爱嗯打偷拍欧美 | 国产一区二区免费 | 99精品视频在线观看 | 97碰碰视频 | 国产精品免费不卡 | 7777xxxx| 免费在线观看亚洲视频 | 国产一区福利 | 国产最新网站 | 国产黄视频在线观看 | 91热视频| 日韩精品一区二区免费视频 | 久久精品网| av888av.com| av网站免费线看精品 | 色综合天天在线 | 久久精品99久久久久久 | 亚洲少妇影院 | 亚洲综合婷婷 | 久久69精品 | 97国产一区二区 | 亚洲aaa毛片 | 91在线精品秘密一区二区 | 最近最新中文字幕视频 | 亚洲理论电影 | 激情在线五月天 | av网址aaa | 天天操天天草 | 欧美精品久久久久 | 天天摸天天操天天爽 | 欧美激情精品久久久久久免费 | 91精品1区2区 | 欧美另类交在线观看 | 日本黄色免费网站 | 免费av成人在线 | 99产精品成人啪免费网站 | 国产在线观看你懂得 | 伊甸园永久入口www 99热 精品在线 | 久操97| 成人av资源网 | 国产成人a v电影 | 在线天堂v | 天天草综合 | 久久99视频免费观看 | 亚洲精品国内 | 亚洲在线网址 | 五月婷婷丁香激情 | 婷婷av网 | 国产色拍 | 五月婷香蕉久色在线看 | 91最新视频在线观看 | 中文字幕在线一区观看 | 免费在线一区二区三区 | 国产视频一区在线播放 | 麻豆一区二区三区视频 | 欧美日韩一区二区三区在线免费观看 | 在线观看中文字幕视频 | 久久在线看 | 日日夜精品 | 婷婷午夜天 | 88av色 | 国产 视频 高清 免费 | 色综合天天综合 | 欧美日韩免费在线观看视频 | 99久久精品国产亚洲 | 一区在线播放 | 久久人人爽人人 | 亚洲午夜久久久久久久久电影网 | 国产黄色片在线 | 欧美性生活久久 | 91天天操| 日韩av资源在线观看 | 国产最新视频在线观看 | 国产伦理久久精品久久久久_ | 一区二区高清在线 | av久久在线 | 国产九九九精品视频 | 国产 一区二区三区 在线 | 国产色视频一区 | 中文视频在线 | 国产又粗又长的视频 | 国产成人一区二区三区免费看 | 国产高清视频免费在线观看 | 男女视频久久久 | 91cn国产在线 | 又黄又爽又色无遮挡免费 | 国产黄免费 | 伊人色综合久久天天网 | 久久99精品国产99久久 | 在线观看中文字幕2021 | av黄在线播放 | 人人草网站 | 一区二区三区免费在线观看视频 | www.夜色321.com| 国产一级免费观看 | 中文字幕 国产视频 | 西西44人体做爰大胆视频 | 国产一区在线免费观看视频 | 九九久久视频 | 久久99精品久久久久久三级 | 国产精品免费在线视频 | 在线黄色av | 在线观看日韩一区 | 色吊丝在线永久观看最新版本 | 精品一区二区三区电影 | 久草网视频 | 日韩欧美亚州 | 一本一道久久a久久综合蜜桃 | www.人人干 | 日本夜夜草视频网站 | 91九色pron| 久久影院一区 | 亚洲另类xxxx| 国产久草在线 | 欧洲一区精品 | 黄色免费在线视频 | av在线收看 | 中文字幕一区二区三区久久蜜桃 | 五月婷婷av| 九九欧美| 黄色av一区二区 | 超碰com| 色噜噜狠狠狠狠色综合久不 | 国内揄拍国产精品 | 亚洲精品国产精品国产 | 97超碰福利久久精品 | 亚洲午夜精品久久久久久久久 | 久草在线一免费新视频 | 丁香激情五月 | a在线观看视频 | 色婷婷欧美 | 日韩国产在线观看 | 亚洲狠狠丁香婷婷综合久久久 | 久久亚洲综合国产精品99麻豆的功能介绍 | 狠狠干婷婷色 | 黄网站色视频免费观看 | 亚洲美女视频在线 | 亚洲精品福利在线观看 | 国产专区视频在线 | 99r在线 | 亚洲天堂精品视频在线观看 | 国产一级做a爱片久久毛片a | 成人在线观看资源 | 日韩av一区二区在线影视 | 亚洲欧美乱综合图片区小说区 | 亚洲欧美日韩国产精品一区午夜 | 国产视频在线观看一区二区 | 黄污在线看 | 国产在线不卡视频 | 99在线观看 | 久久精品8 | 久久久精品国产免费观看同学 | 草久在线观看 | 国产成人一区二区三区在线观看 | 国产91勾搭技师精品 | www.久久久.cum | 新版资源中文在线观看 | 美女免费黄视频网站 | 婷婷激情欧美 | 中文字幕av在线播放 | 国产午夜三级 | 天天激情天天干 | 日韩精品视频久久 | 国产一二三四在线视频 | 国产精品高清一区二区三区 | 91视频xxxx| 91久久久久久久 | 国产99久久九九精品免费 | 日本精品视频在线播放 | 色婷婷激情电影 | va视频在线观看 | 91精品人成在线观看 | 日韩精品视频久久 | 日本精品午夜 | 91九色蝌蚪视频网站 | 激情综合狠狠 | 蜜桃视频日本 | 免费不卡中文字幕视频 | 久久有精品| 国产精品永久 | 欧美日韩国产高清视频 | 免费在线观看亚洲视频 | 久久免费视频精品 | 国产成人精品电影久久久 | 亚洲最大av在线播放 | 久久99久久99精品免视看婷婷 | 久久久人人人 | 久久一二区 | 日韩偷拍精品 | 欧美黑人性爽 | 中文字幕资源在线 | 精品国产免费一区二区三区五区 | 夜夜躁日日躁狠狠躁 | 天堂资源在线观看视频 | 欧美色综合久久 | 国产精品2018| 91在线日韩 | 一级做a爱片性色毛片www | 国产在线精品观看 | 日本在线h | 国色天香第二季 | 色婷婷av一区| 免费在线观看av的网站 | 韩国在线一区 | 国产一级黄色免费看 | 国内精品久久久精品电影院 | 超碰人人草人人 | 欧美日韩在线观看一区二区三区 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 久久97久久97精品免视看 | 91视频首页 | 97电影手机版 | 尤物九九久久国产精品的分类 | 麻豆视频国产在线观看 | 欧美精品久久久久久久久免 | 日韩久久精品一区二区三区 | 国产精品久久久久久久久久久久午夜 | 国产精品午夜8888 | 久久这里只有精品9 | 亚洲一片黄 | 超碰在线最新网址 | 极品美女被弄高潮视频网站 | 午夜精品一区二区三区在线播放 | 国产成人精品一区一区一区 | 国产视频精品视频 | 91亚洲精品久久久中文字幕 | www日韩视频 | 亚洲视频在线观看网站 | 久久久国产影院 | 亚洲精品国产麻豆 | 日韩欧美电影在线 | www.91国产 | 精品国产一区二区三区四区vr | 日韩在线观看视频网站 | 99精品视频免费看 | 最新日韩视频 | 久久久久一区二区三区四区 | www.夜夜爱 | 亚洲欧美综合 | 国产成人精品a | 伊人www22综合色 | 亚洲精选国产 | 成人国产精品一区二区 | 人人爽人人片 | 国产精品久久久久久久久久久杏吧 | 国产精品无av码在线观看 | 久久av网| 精品久久久免费视频 | 最新久久免费视频 | 狠色在线| 国内外成人在线 | av在线在线 | 成人欧美亚洲 | 91精品国产成人观看 | 国产一级大片在线观看 | 日韩免费av在线 | 国产美女视频免费 | 贫乳av女优大全 | 精品久久久久久亚洲综合网站 | 亚洲日本va在线观看 | 狠狠综合久久 | 中文永久字幕 | 激情欧美一区二区免费视频 | 亚洲韩国一区二区三区 | 人人澡人人草 | 波多野结衣在线观看一区 | 国产精品免费一区二区三区在线观看 | 成人av在线影院 | 国产91亚洲精品 | 日本中文字幕在线 | 免费日韩一区 | 久久久精品99 | 久久乐九色婷婷综合色狠狠182 | 日韩精品亚洲专区在线观看 | 91黄色免费网站 | 天堂av在线中文在线 | 免费在线看成人av | 99视频这里只有 | 欧美色图视频一区 | 91成人精品在线 | 成人免费看电影 | 成人黄色大片在线免费观看 | 国产少妇在线观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲国产日韩在线 | 91九色porny蝌蚪视频 | 国产淫片免费看 | 久久午夜电影网 | 人人狠狠综合久久亚洲 | 免费视频资源 | 一区二区三区在线免费观看 | 国产精品久久久久久一区二区三区 | 欧美精品在线观看一区 | 亚洲国产网站 | 六月丁香伊人 | 日韩资源在线 | 一区三区在线欧 | 国产高清视频免费最新在线 | 精品美女在线视频 | 亚洲欧美成人在线 | 婷婷丁香七月 | 99免费| 日韩美精品视频 | 免费精品在线 | 国产精品女人久久久 | 国产免费一区二区三区最新6 | 久久久蜜桃一区二区 | 精品亚洲va在线va天堂资源站 | 国产一区二区在线免费播放 | 久草精品免费 | 日韩中文字幕免费在线播放 | 九九精品无码 | 亚洲精品日韩一区二区电影 | 97精品国产97久久久久久 | 免费观看一级特黄欧美大片 | www.久久成人 | 一二三精品视频 | 日韩大片在线播放 | 国产精品久久久久久婷婷天堂 | 国产日产精品一区二区三区四区 | 一级黄色片在线 | 国产涩涩在线观看 | 99久久精品国 | 色www精品视频在线观看 | 丁香婷婷在线观看 | 黄影院| 日韩中文字幕视频在线观看 | 国际精品网 | 国产 日韩 欧美 在线 | 亚洲国产中文字幕 | 久久精品理论 | 国色综合| 一级黄色片在线播放 | 人人澡人摸人人添学生av | 日本中文字幕影院 | 成人在线播放免费观看 | 国产高清视频在线 | 免费看黄色毛片 | 亚洲不卡在线 | 日韩r级在线 | av免费电影在线观看 | 国产免费观看高清完整版 | 黄网站色视频免费观看 | 精品国产一二三 | 中文字幕888| 狠日日| 不卡的一区二区三区 | 黄色软件在线观看 | av免费在线网站 | 69国产精品视频 | 探花视频网站 | 97视频免费在线观看 | 激情五月播播久久久精品 | 日韩丝袜 | 日韩精品中文字幕在线不卡尤物 | 国产91亚洲精品 | 99精品视频一区二区 | 免费一级毛毛片 | av在线免费在线 | 欧美日韩午夜 | 日韩av在线资源 | 五月婷婷六月丁香 | 91九色国产视频 | 日韩网站在线 | 99久久www | 99久久精品国产网站 | 丝袜精品视频 | 视频在线观看亚洲 | 成人a视频片观看免费 | 开心激情网五月天 | 亚洲精品视频免费在线观看 | 久久久久福利视频 | 黄色在线观看网站 | 欧美日韩精品久久久 | 色网站免费在线看 | www国产亚洲| 韩日三级av | 黄色成人在线 | 99 色| 少妇av片 | 日韩首页 | 成人av.com | 中文字幕第一 | 色视频网站免费观看 | 欧美日韩精品网站 | 国产精品 国产精品 | 国产免费观看久久 | 999成人网| 国产看片 色 | 国内精品久久久久久久久久久久 | 成人a毛片| av中文天堂| 亚洲视频免费视频 | 亚洲理论在线观看电影 | 亚洲欧洲av| 久久99影院 | 成人性生交大片免费观看网站 | 国产丝袜| 国产精品免费一区二区三区在线观看 | 天天爽天天做 | 91在线产啪| 99精品免费观看 | 久久av在线播放 | 国产视频在线一区二区 | 99精品黄色片免费大全 | 亚洲精品视频二区 | av成人资源 | 国产精品久久久久久久妇 | 国产最新视频在线观看 | 国产精品人成电影在线观看 | 国产美女网站在线观看 | 天天射综合网视频 | 免费黄色看片 | www.午夜视频| 99色在线 | 狠狠久久综合 | 在线观看视频国产一区 | 国产在线污 | 特级黄色视频毛片 | 亚洲精品成人免费 | 国产xx在线 | 中文字幕在线一区二区三区 | 欧美日韩免费视频 | 久久国产精品视频免费看 | 欧美性生活久久 | 一区二区伦理电影 | 日韩黄色在线电影 | 久久影院亚洲 | 国产精品久久免费看 | 国产精品一区二区三区电影 | 美女视频网站久久 | 日韩理论在线视频 | 免费观看的av | 成片人卡1卡2卡3手机免费看 | 国产成人精品午夜在线播放 | 一区二区在线电影 | 久久免费看毛片 | 女人18片 | 婷婷爱五月天 | 精品国产精品久久 | 国产精品午夜av | 国产一区二区在线免费播放 | 久久久久久免费视频 | 欧美在线aa | 999久久精品 | 最近日本韩国中文字幕 | 婷婷激情久久 | 夜夜躁日日躁狠狠久久av | 成年人黄色免费视频 | 伊甸园永久入口www 99热 精品在线 | 国产xxxx | av在线亚洲天堂 | 视频在线观看入口黄最新永久免费国产 | 国产成人久久精品一区二区三区 | 人人舔人人爱 | 成人一区二区三区在线 | 中文字幕一区二区三区在线视频 | 波多野结衣视频在线 | 日本久久电影网 | 在线观看免费国产小视频 | 久草免费电影 | 五月婷婷丁香激情 | 91视频 - x99av| .国产精品成人自产拍在线观看6 | 欧美一级片免费播放 | 免费三级骚 | 婷婷五月色综合 | 欧美日韩视频在线一区 | 激情视频在线高清看 | 中文字幕 国产专区 | 欧美日韩免费一区 | 玖草在线观看 | 日韩在线高清 | 91探花在线 | 在线观看视频在线 | 色综合天天综合网国产成人网 | 色婷婷在线视频 | 青青久草在线视频 | 黄色成品视频 | 婷婷性综合 | 色网站在线免费 | 国产精品视频免费观看 | 91色网址| 97精品国产 | 激情综合亚洲精品 | 国产伦精品一区二区三区… | 99电影456麻豆 | 99色视频| 精一区二区 | 99爱精品视频 | 欧美日韩国产综合一区二区 | 成年人天堂com | 狠狠色噜噜狠狠 | 黄色录像av | 日韩精品一区二区三区免费视频观看 | 在线免费视频一区 | 免费看黄色91| 国产精品一区在线观看你懂的 | 不卡的av中文字幕 | www.狠狠干 | 国产亚洲精品久久 | 九九国产精品视频 | 国产精品正在播放 | 天天想夜夜操 | 日韩一区二区三免费高清在线观看 | 久久99久国产精品黄毛片入口 | 国产精品免费在线观看视频 | 免费观看91视频大全 | 亚欧日韩成人h片 | 成人黄色在线视频 | 天天干,天天射,天天操,天天摸 | 国产69精品久久久久99 | 日韩爱爱网站 | 久久久91精品国产一区二区三区 | 美女视频黄是免费的 | 免费三级黄色 | 天堂在线视频免费观看 | 国产一级性生活视频 | av色影院| 九九九九精品九九九九 | 在线免费观看视频一区二区三区 | 91在线porny国产在线看 | 欧洲黄色片| 91大神视频网站 | 国产在线一区二区 | 久久国产成人午夜av影院潦草 | 亚洲视频 中文字幕 | 日韩网站在线看片你懂的 | 六月丁香激情综合色啪小说 | 黄色资源在线 | 国产.精品.日韩.另类.中文.在线.播放 | 97精品国产一二三产区 | 色噜噜在线观看 | 久久99精品一区二区三区三区 | 最近中文字幕免费av | 亚洲深夜影院 | 日日干干| 成人一级影视 | 国产97av| 91丝袜美腿 | 国产精品视频久久久 | 日韩三级视频 | 亚洲成人在线免费 | 婷婷在线免费视频 | 91桃色在线免费观看 | 深夜福利视频一区二区 | 国产精品久久亚洲 | 97视频在线观看视频免费视频 | 免费的国产精品 | 成人资源在线观看 | 99久在线精品99re8热视频 | 成年人在线免费看视频 | 欧美日韩免费观看一区二区三区 | 国产一区二区久久精品 | av成人免费在线观看 | 亚洲九九精品 | 久久久av免费 | 久久色中文字幕 | 手机av永久免费 | 伊人影院av | 精品久久久久久亚洲综合网站 | 国产精品大全 | 99久久www| 久久草草热国产精品直播 | 国产亚洲欧美一区 | 天天操天天操 | 天天干人人干 | 六月色| 又爽又黄又无遮挡网站动态图 | 四虎国产精品免费 | 欧美综合在线视频 | 国产精品久久一区二区三区, | 国产91区 | www毛片com| 免费h在线观看 | 99精品热视频 | 亚洲最新视频在线播放 | 99久久久国产精品免费99 | 国产精品成人一区二区三区 | avhd高清在线谜片 | 亚洲午夜久久久久久久久电影网 | 五月宗合网 | 狠狠操狠狠 | 在线观看色网站 | 一级一片免费视频 | 96亚洲精品久久久蜜桃 | a在线免费观看视频 | 天天激情综合网 | 国产精品一级在线 | 男女精品久久 | 日日碰狠狠躁久久躁综合网 | 中文字幕在线观看2018 | 欧美日韩亚洲在线观看 | 超碰免费久久 | 日日夜夜天天干 | 中文字幕免费高清 | 欧美一二三视频 | 夜夜摸夜夜爽 | 亚洲精区二区三区四区麻豆 | 在线视频一二三 | 亚欧日韩成人h片 | 成人午夜黄色影院 | a级片在线播放 | 欧美日高清视频 | 欧美三级在线播放 | 精品久久99 | 嫩草av在线| 久久电影中文字幕视频 | 在线观看91久久久久久 | 中文字幕日韩高清 | 久草视频网 | 日韩国产精品一区 | 免费的国产精品 | 久久精品草 | 国产精品手机看片 | 亚洲国产小视频在线观看 | 国产免费高清视频 | 日日爱av | 超碰在线最新网址 | 成人福利在线观看 | 日韩一级理论片 | 国产一线二线三线性视频 | 91精品国产综合久久福利 | 91.麻豆视频| 亚色视频在线观看 | 国产一级片直播 | 精品一区二区久久久久久久网站 | 干综合网 | 国产精品免费小视频 | 黄色软件视频大全免费下载 | 日本公妇色中文字幕 | 五月天com| 久久男女视频 | 久久久久久久久久久高潮一区二区 | 91av在| 九月婷婷人人澡人人添人人爽 | 黄色成人在线 | 国产黄免费在线观看 | www久久国产 | 人人草人人做 | 视频一区二区在线 | 最近中文字幕免费观看 | 免费的黄色的网站 | 久久久免费看片 | 一级免费黄色 | av电影在线免费观看 | 精品国产日本 | 激情动态| 69绿帽绿奴3pvideos | 国产精品久久久久久久免费 | 99视频精品视频高清免费 | 国产va精品免费观看 | 97电影在线 | 成人一级在线观看 | 97精品电影院 | 久久久久国产成人精品亚洲午夜 | 午夜三级大片 | 欧洲激情在线 | 久久婷婷一区 | 欧美日韩久久不卡 | 精品不卡av | 一区二区三区韩国免费中文网站 | 国产剧情一区二区在线观看 | 91视频网址入口 | 国产精品美女在线 | 日韩免费高清在线 | 99精品视频免费看 | 日韩中文字幕免费看 | 免费视频一级片 | 精品久久福利 | 91久久人澡人人添人人爽欧美 | 最新av中文字幕 | 韩国一区二区三区在线观看 | 在线一级片 | 国产一区在线播放 | 国产手机视频精品 | 99精品久久精品一区二区 | 日日干网 | 久久精品牌麻豆国产大山 | 久草视频在线免费播放 | 日韩伦理片一区二区三区 | 韩国精品一区二区三区六区色诱 | 99久久久成人国产精品 | 日韩激情av在线 | 国产欧美日韩一区 | 精品国产亚洲一区二区麻豆 | 天天操综 | 婷婷丁香色 | 国产九九精品视频 | 久草精品网 | 久久99精品久久久久久三级 | 人人干天天射 | av成人在线播放 | 色一级片 | 久久久18 | 亚洲欧美日韩国产一区二区三区 | 国产一级特黄毛片在线毛片 | 色av男人的天堂免费在线 | 国产破处在线视频 | 久久99精品久久久久婷婷 | 色婷婷国产精品一区在线观看 | 天躁狠狠躁 | 国产女人免费看a级丨片 | 久久精品久久久久电影 | bbbbb女女女女女bbbbb国产 | 国产又粗又猛又色又黄网站 | 亚洲综合少妇 | 中文字幕精品一区二区三区电影 | 操少妇视频 | 久久精品视频观看 | 久久理论电影 | 国产成人久久av免费高清密臂 | 日本不卡一区二区 | 黄色最新网址 | 粉嫩高清一区二区三区 | 亚洲成人精品久久久 | 日本成人免费在线观看 | 丁香花中文字幕 | 欧美性生活一级片 | 91少妇精拍在线播放 | 少妇性bbb搡bbb爽爽爽欧美 | 日韩精品视频免费在线观看 | 黄色av影视 | 开心丁香婷婷深爱五月 | 国产精品69久久久久 | 美女福利视频 | 超碰97在线人人 | 国产麻豆精品一区二区 | 欧美小视频在线 | 国产女教师精品久久av | 高清精品久久 | 久产久精国产品 | 午夜三级毛片 | 国产精品 国内视频 | 顶级欧美色妇4khd | 手机看片 | 国产精品va最新国产精品视频 | 国产午夜免费视频 | 欧美 日韩 久久 | 国产精品久久久久久一二三四五 | 久草久草久草久草 | 午夜视频在线观看一区二区 | 亚洲最大的av网站 | 久久视频免费在线 | 久久久久久久久久久影院 | 黄色一级免费 | 国产群p| 黄影院| 亚洲干视频在线观看 | 99久久精品国产一区二区成人 | 在线免费观看黄 | 911av视频 | 一区二区视频在线看 | 狠狠狠色丁香婷婷综合激情 | 国产成人在线一区 | 国内精品久久久久 | 五月婷婷综合在线视频 | 欧美男同视频网站 | 久久99最新地址 | 欧美日韩精品二区第二页 | 91在线最新| 超碰国产人人 | 青青草国产成人99久久 | 午夜色婷婷 | 国产精品人成电影在线观看 | 亚洲小视频在线观看 | 欧美一级xxxx | 日日夜夜精品视频天天综合网 | 免费91麻豆精品国产自产在线观看 | 亚洲婷婷在线视频 | 免费视频xnxx com | 91系列在线 | 欧美激情视频一区 | 欧美另类高潮 | 久久99国产精品二区护士 | 色噜噜在线观看 | 中文电影网 | 国产日韩欧美在线观看视频 | 在线免费观看黄色小说 | 国产视频一区二区三区在线 | 免费看污网站 | 中国一级特黄毛片大片久久 | 日韩精品最新在线观看 | 日韩久久精品一区二区 | 手机看片久久 | 99精品小视频| 成片视频在线观看 | 亚洲欧美日本一区二区三区 | 欧美精品一区二区在线观看 | 国产精品99久久久精品 | 国产精品岛国久久久久久久久红粉 | 激情视频在线观看网址 | 久久亚洲成人网 | www.99久久.com | 久久免费a | 久久久久激情电影 | 玖玖在线精品 | 亚洲国产精品久久久久久 |