4、HBase使用(namespace、数据分区、rowkey设计、原生api访问hbase)
  nNPyvzOmRTFq 2023年11月02日 97 0

Apache Hbase 系列文章

1、hbase-2.1.0介绍及分布式集群部署、HA集群部署、验证、硬件配置推荐 2、hbase-2.1.0 shell基本操作详解 3、HBase的java API基本操作(创建、删除表以及对数据的添加、删除、查询以及多条件查询) 4、HBase使用(namespace、数据分区、rowkey设计、原生api访问hbase) 5、Apache Phoenix(5.0.0-5.1.2) 介绍及部署、使用(基本使用、综合使用、二级索引示例)、数据分区示例 6、Base批量装载——Bulk load(示例一:基本使用示例) 7、Base批量装载-Bulk load(示例二:写千万级数据-mysql数据以ORCFile写入hdfs,然后导入hbase) 8、HBase批量装载-Bulk load(示例三:写千万级数据-mysql数据直接写成Hbase需要的数据,然后导入hbase)


(文章目录)


本文主要介绍了Hbase的表结构设计以及以示例来详细说明如何设计rowkey和数据分区,并以shell和java api示例其使用。 本文前提是hbase可用。 本文分为2个部分,即详细介绍表设计原则以及示例。

一、HBase表结构设计

1、名称空间(NameSpace)设计

1)、简介

一般而言,实际使用过程中会通过业务域来实现管理业务表,在hbase中会使用namespace来划分业务域,对应的业务表则建立在namespace下。 HBase默认的名称空间是「default」,默认情况下,创建表时表都将创建在 default 名称空间下 HBase中还有一个命名空间「hbase」,用于存放系统的内建表(namespace、meta)

2)、语法

  • 创建命名空间
create_namespace 'TEST'
  • 查看命名空间列表
list_namespace
  • 查看命名空间
describe_namespace 'TEST'
  • 命名空间创建表 在命令TEST命名空间下创建名为:MSG的表,该表包含一个名为C1的列蔟。 注意:带有命名空间的表,使用冒号将命名空间和表名连接到一起。
create 'TEST:MESSAGE','C1'         
  • 删除命名空间 删除命名空间,命名空间中必须没有表,如果命名空间中有表,是无法删除的
drop_namespace 'TEST'

hbase(main):026:0> create_namespace 'TEST'
Took 0.9228 seconds                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
=> ["ORDER_INFO", "SYSTEM.CATALOG", "SYSTEM.FUNCTION", "SYSTEM.LOG", "SYSTEM.MUTEX", "SYSTEM.SEQUENCE", "SYSTEM.STATS"]
hbase(main):028:0> list_namespace
NAMESPACE                                                                                                                                                                                                                                                                
TEST                                                                                                                                                                                                                                                                
SYSTEM                                                                                                                                                                                                                                                                   
default                                                                                                                                                                                                                                                                  
hbase                                                                                                                                                                                                                                                                    
4 row(s)
Took 0.0172 seconds                                                                                                                                                                                                                                                      
hbase(main):029:0> describe_namespace 'TEST'
DESCRIPTION                                                                                                                                                                                                                                                              
{NAME => 'TEST'}                                                                                                                                                                                                                                                    
Took 0.0081 seconds                                                                                                                                                                                                                                                      
=> 1
hbase(main):030:0> create 'TEST:MESSAGE','C1'
Created table TEST:MESSAGE
Took 1.3003 seconds                                                                                                                                                                                                                                                      
=> Hbase::Table - TEST:MESSAGE
hbase(main):031:0> list
TABLE                                                                                                                                                                                                                                                                    
TEST:MESSAGE                                                                                                                                                                                                                                                        
ORDER_INFO                                                                                                                                                                                                                                                               
SYSTEM.CATALOG                                                                                                                                                                                                                                                           
SYSTEM.FUNCTION                                                                                                                                                                                                                                                          
SYSTEM.LOG                                                                                                                                                                                                                                                               
SYSTEM.MUTEX                                                                                                                                                                                                                                                             
SYSTEM.SEQUENCE                                                                                                                                                                                                                                                          
SYSTEM.STATS                                                                                                                                                                                                                                                             
8 row(s)
Took 0.0087 seconds                                                                                                                                                                                                                                                      
=> ["TEST:MESSAGE", "ORDER_INFO", "SYSTEM.CATALOG", "SYSTEM.FUNCTION", "SYSTEM.LOG", "SYSTEM.MUTEX", "SYSTEM.SEQUENCE", "SYSTEM.STATS"]
hbase(main):032:0> 

2、列簇(ColumnFamily)设计

一般而言,其设计原则如下:

  • HBase列簇的数量应该越少越好 两个及以上的列簇HBase性能并不是很好 一个列簇所存储的数据达到flush的阈值时,表中所有列簇将同时进行flush操作 这将带来不必要的I/O开销,列簇越多,对性能影响越大

3、版本(version)设计

1)、简介

一般而言,hbase的版本是为了保存数据的多个版本而存在的,比如经常更新且很重要的数据,要保留之前的数据版本以便回溯,如此则需根据实际的需要进行版本的设置。 HBase默认创建表的版本为1,故此处保持默认即可

2)、查看表

通过以下输出可以看到版本是相对于列簇而言,默认列簇的版本数为1。

hbase(main):032:0> describe "TEST:MESSAGE"
Table TEST:MESSAGE is ENABLED                                                                                                                                                                                                                                       
TEST:MESSAGE                                                                                                                                                                                                                                                        
COLUMN FAMILIES DESCRIPTION                                                                                                                                                                                                                                              
{NAME => 'C1', VERSIONS => '1', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE', CACHE_DATA_ON_WRITE => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLOOMFI
LTER => 'ROW', CACHE_INDEX_ON_WRITE => 'false', IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OPEN => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE => '65536'}                                                           
1 row(s)
Took 0.0266 seconds

图文不一致 在这里插入图片描述

4、数据压缩

1)、压缩算法

在HBase可以使用多种压缩编码,包括LZO、SNAPPY、GZIP。只在硬盘压缩,内存中或者网络传输中没有压缩。 在这里插入图片描述

  • GZIP的压缩率最高,但是其实CPU密集型的,对CPU的消耗比其他算法要多,压缩和解压速度也慢;
  • LZO的压缩率居中,比GZIP要低一些,但是压缩和解压速度明显要比GZIP快很多,其中解压速度快的更多;
  • Zippy/Snappy的压缩率最低,而压缩和解压速度要稍微比LZO要快一些

2)、查看表数据压缩方式

通过以下输出可以看出,HBase创建表默认是没有指定压缩算法的.COMPRESSION => 'NONE'

hbase(main):032:0> describe "TEST:MESSAGE"
Table TEST:MESSAGE is ENABLED                                                                                                                                                                                                                                       
TEST:MESSAGE                                                                                                                                                                                                                                                        
COLUMN FAMILIES DESCRIPTION                                                                                                                                                                                                                                              
{NAME => 'C1', VERSIONS => '1', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE', CACHE_DATA_ON_WRITE => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLOOMFI
LTER => 'ROW', CACHE_INDEX_ON_WRITE => 'false', IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OPEN => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE => '65536'}                                                           
1 row(s)

在这里插入图片描述

3)、设置数据压缩

使用GZ压缩算法,最好是在新建表的时候就确定压缩算法, 语法如下:COMPRESSION => 'GZ'

# 1、创建新的表,并指定数据压缩算法
create "TEST:MESSAGE", {NAME => "C1", COMPRESSION => "GZ"}

# 2、修改已有的表,并指定数据压缩算法。慎重使用,最好是在新建表的时候就确定压缩算法。
alter "TEST:MESSAGE", {NAME => "C1", COMPRESSION => "GZ"}

hbase(main):033:0> alter "TEST:MESSAGE", {NAME => "C1", COMPRESSION => "GZ"}
Updating all regions with the new schema...
1/1 regions updated.
Done.
Took 2.8568 seconds

hbase(main):034:0> describe "TEST:MESSAGE"
Table TEST:MESSAGE is ENABLED                                                                                                                                                                                                                                       
TEST:MESSAGE                                                                                                                                                                                                                                                        
COLUMN FAMILIES DESCRIPTION                                                                                                                                                                                                                                              
{NAME => 'C1', VERSIONS => '1', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE', CACHE_DATA_ON_WRITE => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLOOMFI
LTER => 'ROW', CACHE_INDEX_ON_WRITE => 'false', IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OPEN => 'false', COMPRESSION => 'GZ', BLOCKCACHE => 'true', BLOCKSIZE => '65536'}                                                             
1 row(s)
Took 0.0087 seconds

在这里插入图片描述

5、ROWKEY设计

1)、HBase官方的设计原则

  • 避免使用递增行键/时序数据 如果ROWKEY设计的都是按照顺序递增(例如:时间戳),这样会有很多的数据写入时,负载都在一台机器上。我们尽量应当将写入大压力均衡到各个RegionServer
  • 避免ROWKEY和列的长度过大 在HBase中,要访问一个Cell(单元格),需要有ROWKEY、列蔟、列名。如果ROWKEY、列名太大,就会占用较大内存空间。所以ROWKEY和列的长度应该尽量短小。ROWKEY的最大长度是64KB,建议越短越好
  • 使用long等类型比String类型更省空间 long类型为8个字节,8个字节可以保存非常大的无符号整数,例如:18446744073709551615。如果是字符串,是按照一个字节一个字符方式保存,需要快3倍的字节数存储。
  • ROWKEY唯一性 设计ROWKEY时,必须保证RowKey的唯一性。由于在HBase中数据存储是Key-Value形式,若向HBase中同一张表插入相同RowKey的数据,则原先存在的数据会被新的数据覆盖。

2)、避免数据热点

热点是指大量的客户端(client)直接访问集群的一个或者几个节点(可能是读、也可能是写)。大量地访问量可能会使得某个服务器节点超出承受能力,导致整个RegionServer的性能下降,其他的Region也会受影响。

  • 预分区

默认情况,一个HBase的表只有一个Region,被托管在一个RegionServer中 每个Region有两个重要的属性:Start Key、End Key,表示这个Region维护的ROWKEY范围。如果只有一个Region,那么Start Key、End Key都是空的,没有边界。所有的数据都会放在这个Region中,但当数据越来越大时,会将Region分裂,取一个Mid Key来分裂成两个Region 预分区个数 = 节点的倍数。默认Region的大小为10G

  • ROWKEY避免热点设计
  1. 反转策略,如果设计出的ROWKEY在数据分布上不均匀,但ROWKEY尾部的数据却呈现出了良好的随机性,可以考虑将ROWKEY的翻转,或者直接将尾部的bytes提前到ROWKEY的开头。 反转策略可以使ROWKEY随机分布,但是牺牲了ROWKEY的有序性 缺点:利于Get操作,但不利于Scan操作,因为数据在原ROWKEY上的自然顺序已经被打乱
  2. 加盐策略,Salting(加盐)的原理是在原ROWKEY的前面添加固定长度的随机数,也就是给ROWKEY分配一个随机前缀使它和之间的ROWKEY的开头不同 随机数能保证数据在所有Regions间的负载均衡 缺点:因为添加的是随机数,基于原ROWKEY查询时无法知道随机数是什么,那样在查询的时候就需要去各个可能的Regions中查找,加盐对比读取是无力的
  3. 哈希策略,基于 ROWKEY的完整或部分数据进行 Hash,而后将Hashing后的值完整替换或部分替换原ROWKEY的前缀部分 缺点:Hashing 也不利于Scan,因为打乱了原RowKey的自然顺序

二、示例

1、数据分区

在HBase中,可以通过指定start key、end key来进行分区,还可以直接指定Region的数量,指定分区的策略。 本示例使用HexStringSplit作为分区策略。

  1. 指定 start key、end key来分区
hbase> create 'ns1:t1', 'f1', SPLITS => ['10', '20', '30', '40']
hbase> create 't1', 'f1', SPLITS => ['10', '20', '30', '40']
hbase> create 't1', 'f1', SPLITS_FILE => 'splits.txt', OWNER => 'johndoe'
  1. 指定分区数量、分区策略
hbase> create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit'}
  1. 分区策略
  • HexStringSplit: ROWKEY是十六进制的字符串作为前缀的
  • DecimalStringSplit: ROWKEY是10进制数字字符串作为前缀的
  • UniformSplit: ROWKEY前缀完全随机

2、Rowkey设计

为了确保数据均匀分布在每个Region,需要以MD5Hash作为前缀。 ROWKEY = MD5Hash_发件人账号_收件人账号_时间戳 在这里插入图片描述

  • 分区脚本
#新建表的时候需要指定分区
 create 'MOMO_CHAT:MESSAGE', {NAME => "C1", COMPRESSION => "GZ"}, { NUMREGIONS => 6, SPLITALGO => 'HexStringSplit'}

执行完命令后,我们发现该表已经分为6个分区。这样将来数据就可以均匀地分布到不同的分区中了 注意:勾选ShowDetailName&Start/EndKey,点击Recorder 在这里插入图片描述 HDFS中,也有对应的6个文件夹。 URL:/hbase/data/MOMO_CHAT/MESSAGE 在这里插入图片描述

3、java api操作hbase(写入hbase)

1)、pom.xml

		<dependency>
			<groupId>org.apache.hbase</groupId>
			<artifactId>hbase-client</artifactId>
			<version>2.1.0</version>
		</dependency>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.6</version>
		</dependency>

		<dependency>
			<groupId>com.github.cloudecho</groupId>
			<artifactId>xmlbean</artifactId>
			<version>1.5.5</version>
		</dependency>
		
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi</artifactId>
			<version>4.0.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi-ooxml</artifactId>
			<version>4.0.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi-ooxml-schemas</artifactId>
			<version>4.0.1</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.2.62</version>
		</dependency>

2)、拷贝配置文件

将以下几个文件拷贝到resources目录 core-site.xml hbase-site.xml

3)、批量导入数据

  • java bean
import lombok.Data;

@Data
public class Message {
	private String msg_time;                // 消息时间
    private String sender_nickyname;        // 发件人昵称
    private String sender_account;          // 发件人账号
    private String sender_sex;              // 发件人性别
    private String sender_ip;               // 发件人IP
    private String sender_os;               // 发件人系统
    private String sender_phone_type;       // 发件人手机型号
    private String sender_network;          // 发件人网络制式
    private String sender_gps;              // 发件人GPS
    private String receiver_nickyname;      // 收件人昵称
    private String receiver_ip;             // 收件人IP
    private String receiver_account;        // 收件人账号
    private String receiver_os;             // 收件人系统
    private String receiver_phone_type;     // 收件人手机型号
    private String receiver_network;        // 收件人网络制式
    private String receiver_gps;            // 收件人GPS
    private String receiver_sex;            // 收件人性别
    private String msg_type;                // 消息类型
    private String distance;                // 双方距离
    private String message;                 // 消息
}
  • 读excel
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.logging.Logger;

import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class ExcelReader {
	static String in = "D:/workspace/bigdata-component/hadoop/test/in/momo/测试数据集.xlsx";;

	public static void main(String[] args) {
		Map<String, List<String>> mapData = readXlsx(in, "陌陌数据");
		for (int i = 0; i < 10000; ++i) {
			System.out.println(randomColumn(mapData, "sender_nickyname"));
		}
	}

	/**
	 * 随机获取某一列的数据
	 * 
	 * @param columnName 列名
	 * @return 随机数据
	 */
	public static String randomColumn(Map<String, List<String>> resultMap, String columnName) {
		List<String> valList = resultMap.get(columnName);
		if (valList == null)
			throw new RuntimeException("未读取到列名为" + columnName + "的任何数据!");
		Random random = new Random();
		int randomIndex = random.nextInt(valList.size());
		return valList.get(randomIndex);
	}

	/**
	 * 将Excel文件读取为Map结构: <column_name, list> 其中column_name为第4行的名字
	 * 
	 * @param path      Excel文件路径(要求Excel为2007)
	 * @param sheetName 工作簿名称
	 * @return Map结构
	 */
	public static Map<String, List<String>> readXlsx(String path, String sheetName) {
		// 列的数量
		int columnNum = 0;
		HashMap<String, List<String>> resultMap = new HashMap<String, List<String>>();
		ArrayList<String> columnList = new ArrayList<String>();
		try {
			OPCPackage pkg = OPCPackage.open(path);
			XSSFWorkbook excel = new XSSFWorkbook(pkg);
			// 获取sheet
			XSSFSheet sheet = excel.getSheet(sheetName);
			// 加载列名
			XSSFRow columnRow = sheet.getRow(3);
			if (columnRow == null) {
				throw new RuntimeException("数据文件读取错误!请确保第4行为英文列名!");
			} else {
				Iterator<Cell> colIter = columnRow.iterator();
				// 迭代所有列
				while (colIter.hasNext()) {
					Cell cell = colIter.next();
					String colName = cell.getStringCellValue();
					columnList.add(colName);
					columnNum++;
				}
			}

			System.out.println("读取到:" + columnNum + "列");
			System.out.println(Arrays.toString(columnList.toArray()));

			// 初始化resultMap
			for (String colName : columnList) {
				resultMap.put(colName, new ArrayList<String>());
			}

			// 迭代sheet
			Iterator<Row> iter = sheet.iterator();
			int i = 0;
			int rownum = 1;

			while (iter.hasNext()) {
				Row row = iter.next();
				Iterator<Cell> cellIter = row.cellIterator();

				// 跳过前4行
				if (rownum <= 4) {
					++rownum;
					continue;
				}

				while (cellIter.hasNext()) {
					XSSFCell cell = (XSSFCell) cellIter.next();
					// 根据单元的的类型,读取相应的结果
					if (cell.getCellType() == CellType.NUMERIC) {
						resultMap.get(columnList.get(i % columnList.size()))
								.add(Double.toString(cell.getNumericCellValue()));
					} else {
						resultMap.get(columnList.get(i % columnList.size())).add(cell.getStringCellValue());
					}

					++i;
					++rownum;
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}

		return resultMap;
	}
}
  • 生成随机数据并插入表中
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.MD5Hash;
import org.hbase.momo.bean.Message;

/**
 * 陌陌消息随机生成器
 *
 * 1. 通过ExcelReader工具类从Excel中随机读取数据,并生成一个Msg对象 
   2. 设计rowkey,避免热点问题,尽量让每条数据均匀地分布到每个Region中(已经创建了6个Region) 
   3. 将Msg对象put到HBase中 
   4. 生成100W条数据方便测试
 */
public class GenMessageData {
	static String in = "D:/workspace/bigdata-component/hadoop/test/in/momo/测试数据集.xlsx";;

	public static void main(String[] args) throws ParseException, IOException {
		// 读取Excel文件中的数据
		Map<String, List<String>> resultMap = ExcelReader.readXlsx(in, "陌陌数据");
		// 生成数据到HBase中
		// 1. 获取Hbase连接
		Configuration config = HBaseConfiguration.create();
		Connection connection = ConnectionFactory.createConnection(config);
		// 2. 获取HBase表MOMO_CHAT:MESSAGE
		Table table = connection.getTable(TableName.valueOf("MOMO_CHAT:MESSAGE"));

		int i = 0;
		int MAX = 1000000;

		while (i < MAX) {
			Message msg = getOneMessage(resultMap);
			// 3. 初始化操作Hbase所需的变量(列蔟、列名)
			byte[] rowkey = getRowkey(msg);
			String cf = "C1";
			String colMsg_time = "msg_time";
			String colSender_nickyname = "sender_nickyname";
			String colSender_account = "sender_account";
			String colSender_sex = "sender_sex";
			String colSender_ip = "sender_ip";
			String colSender_os = "sender_os";
			String colSender_phone_type = "sender_phone_type";
			String colSender_network = "sender_network";
			String colSender_gps = "sender_gps";
			String colReceiver_nickyname = "receiver_nickyname";
			String colReceiver_ip = "receiver_ip";
			String colReceiver_account = "receiver_account";
			String colReceiver_os = "receiver_os";
			String colReceiver_phone_type = "receiver_phone_type";
			String colReceiver_network = "receiver_network";
			String colReceiver_gps = "receiver_gps";
			String colReceiver_sex = "receiver_sex";
			String colMsg_type = "msg_type";
			String colDistance = "distance";
			String colMessage = "message";

			// 4. 构建put请求
			Put put = new Put(rowkey);

			// 5. 挨个添加陌陌消息的所有列
			put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(colMsg_time), Bytes.toBytes(msg.getMsg_time()));
			put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(colSender_nickyname),Bytes.toBytes(msg.getSender_nickyname()));
			put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(colSender_account), Bytes.toBytes(msg.getSender_account()));
			put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(colSender_sex), Bytes.toBytes(msg.getSender_sex()));
			put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(colSender_ip), Bytes.toBytes(msg.getSender_ip()));
			put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(colSender_os), Bytes.toBytes(msg.getSender_os()));
			put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(colSender_phone_type),Bytes.toBytes(msg.getSender_phone_type()));
			put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(colSender_network), Bytes.toBytes(msg.getSender_network()));
			put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(colSender_gps), Bytes.toBytes(msg.getSender_gps()));
			put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(colReceiver_nickyname),Bytes.toBytes(msg.getReceiver_nickyname()));
			put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(colReceiver_ip), Bytes.toBytes(msg.getReceiver_ip()));
			put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(colReceiver_account),Bytes.toBytes(msg.getReceiver_account()));
			put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(colReceiver_os), Bytes.toBytes(msg.getReceiver_os()));
			put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(colReceiver_phone_type),Bytes.toBytes(msg.getReceiver_phone_type()));
			put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(colReceiver_network),Bytes.toBytes(msg.getReceiver_network()));
			put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(colReceiver_gps), Bytes.toBytes(msg.getReceiver_gps()));
			put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(colReceiver_sex), Bytes.toBytes(msg.getReceiver_sex()));
			put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(colMsg_type), Bytes.toBytes(msg.getMsg_type()));
			put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(colDistance), Bytes.toBytes(msg.getDistance()));
			put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(colMessage), Bytes.toBytes(msg.getMessage()));

			// 6. 发起put请求
			table.put(put);
			// 显示进度
			++i;
			System.out.println(i + " / " + MAX);
		}
		table.close();
		connection.close();
	}

	/**
	 * 基于从Excel表格中读取的数据随机生成一个Msg对象
	 * 
	 * @param resultMap Excel读取的数据(Map结构)
	 * @return 一个Msg对象
	 */
	public static Message getOneMessage(Map<String, List<String>> resultMap) {
		// 1. 构建Msg实体类对象
		Message msg = new Message();

		// 将当前系统的时间设置为消息的时间,以年月日 时分秒的形式存储
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		// 获取系统时间
		Date now = new Date();
		msg.setMsg_time(simpleDateFormat.format(now));

		// 2. 调用ExcelReader中的randomColumn随机生成一个列的数据
		// 初始化sender_nickyname字段,调用randomColumn随机取nick_name设置数据
		msg.setSender_nickyname(ExcelReader.randomColumn(resultMap, "sender_nickyname"));
		msg.setSender_account(ExcelReader.randomColumn(resultMap, "sender_account"));
		msg.setSender_sex(ExcelReader.randomColumn(resultMap, "sender_sex"));
		msg.setSender_ip(ExcelReader.randomColumn(resultMap, "sender_ip"));
		msg.setSender_os(ExcelReader.randomColumn(resultMap, "sender_os"));
		msg.setSender_phone_type(ExcelReader.randomColumn(resultMap, "sender_phone_type"));
		msg.setSender_network(ExcelReader.randomColumn(resultMap, "sender_network"));
		msg.setSender_gps(ExcelReader.randomColumn(resultMap, "sender_gps"));
		msg.setReceiver_nickyname(ExcelReader.randomColumn(resultMap, "receiver_nickyname"));
		msg.setReceiver_ip(ExcelReader.randomColumn(resultMap, "receiver_ip"));
		msg.setReceiver_account(ExcelReader.randomColumn(resultMap, "receiver_account"));
		msg.setReceiver_os(ExcelReader.randomColumn(resultMap, "receiver_os"));
		msg.setReceiver_phone_type(ExcelReader.randomColumn(resultMap, "receiver_phone_type"));
		msg.setReceiver_network(ExcelReader.randomColumn(resultMap, "receiver_network"));
		msg.setReceiver_gps(ExcelReader.randomColumn(resultMap, "receiver_gps"));
		msg.setReceiver_sex(ExcelReader.randomColumn(resultMap, "receiver_sex"));
		msg.setMsg_type(ExcelReader.randomColumn(resultMap, "msg_type"));
		msg.setDistance(ExcelReader.randomColumn(resultMap, "distance"));
		msg.setMessage(ExcelReader.randomColumn(resultMap, "message"));

		// 3. 注意时间使用系统当前时间

		return msg;
	}

	// 根据Msg实体对象生成rowkey
	public static byte[] getRowkey(Message msg) throws ParseException {
		//
		// ROWKEY = MD5Hash_发件人账号_收件人账号_消息时间戳
		//
		// 使用StringBuilder将发件人账号、收件人账号、消息时间戳使用下划线(_)拼接起来
		StringBuilder builder = new StringBuilder();
		builder.append(msg.getSender_account());
		builder.append("_");
		builder.append(msg.getReceiver_account());
		builder.append("_");
		// 获取消息的时间戳
		String msgDateTime = msg.getMsg_time();
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date msgDate = simpleDateFormat.parse(msgDateTime);
		long timestamp = msgDate.getTime();
		builder.append(timestamp);

		// 使用Bytes.toBytes将拼接出来的字符串转换为byte[]数组
		// 使用MD5Hash.getMD5AsHex生成MD5值,并取其前8位
		String md5AsHex = MD5Hash.getMD5AsHex(builder.toString().getBytes());
		String md5Hex8bit = md5AsHex.substring(0, 8);

		// 再将MD5值和之前拼接好的发件人账号、收件人账号、消息时间戳,再使用下划线拼接,转换为Bytes数组
		String rowkeyString = md5Hex8bit + "_" + builder.toString();
		// System.out.println(rowkeyString);

		return Bytes.toBytes(rowkeyString);
	}
}

4)、 验证数据生成的结果

在这里插入图片描述 在这里插入图片描述

4、java api操作hbase(查询hbase)

查询条件:日期,发件人,收件人

1)、查询接口

import java.util.List;

import org.hbase.momo.bean.Message;

public interface ChatMessageService {
	/**
	 * 根据日期、发件人、收件人查询消息
	 * 
	 * @param date     日期
	 * @param sender   发件人
	 * @param receiver 收件人
	 * @return 一个消息列表
	 * @throws Exception
	 */
	List<Message> getMessage(String date, String sender, String receiver) throws Exception;

	void close() throws Exception;
}

2)、查询实现

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CompareOperator;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.filter.BinaryComparator;
import org.apache.hadoop.hbase.filter.FilterList;
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter;
import org.apache.hadoop.hbase.util.Bytes;
import org.hbase.momo.bean.Message;
import org.hbase.momo.service.ChatMessageService;

/**
 * 使用HBase原生API来实现消息的查询
 */
public class HBaseNativeChatMessageService implements ChatMessageService {
	private Connection connection;
	private SimpleDateFormat simpleDateFormat;

	public HBaseNativeChatMessageService() throws IOException {
		Configuration configuration = HBaseConfiguration.create();
		connection = ConnectionFactory.createConnection(configuration);
	}

	/**
	 *
	 * @param date     日期 2022-09-10
	 * @param sender   发件人
	 * @param receiver 收件人
	 * @return
	 * @throws Exception
	 */
	@Override
	public List<Message> getMessage(String date, String sender, String receiver) throws Exception {
		// 1. 构建scan对象
		Scan scan = new Scan();

		// 构建两个带时分秒的日期字符串
		String startDateStr = date + " 00:00:00";
		String endDateStr = date + " 23:59:59";

		// 2. 构建用于查询时间的范围,例如:2022-10-05 00:00:00 – 2022-10-05 23:59:59
		// 3. 构建查询日期的两个Filter,大于等于、小于等于,此处过滤单个列使用SingleColumnValueFilter即可。
		SingleColumnValueFilter startDateFilter = new SingleColumnValueFilter(Bytes.toBytes("C1"),
				Bytes.toBytes("msg_time"), CompareOperator.GREATER_OR_EQUAL,
				new BinaryComparator(Bytes.toBytes(startDateStr)));

		SingleColumnValueFilter endDateFilter = new SingleColumnValueFilter(Bytes.toBytes("C1"),
				Bytes.toBytes("msg_time"), CompareOperator.LESS_OR_EQUAL,
				new BinaryComparator(Bytes.toBytes(endDateStr)));

		// 4. 构建发件人Filter
		SingleColumnValueFilter senderFilter = new SingleColumnValueFilter(Bytes.toBytes("C1"),
				Bytes.toBytes("sender_account"), CompareOperator.EQUAL, new BinaryComparator(Bytes.toBytes(sender)));

		// 5. 构建收件人Filter
		SingleColumnValueFilter receiverFilter = new SingleColumnValueFilter(Bytes.toBytes("C1"),
				Bytes.toBytes("receiver_account"), CompareOperator.EQUAL,
				new BinaryComparator(Bytes.toBytes(receiver)));

		// 6. 使用FilterList组合所有Filter
		FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ALL, startDateFilter, endDateFilter,
				senderFilter, receiverFilter);

		// 7. 设置scan对象filter
		scan.setFilter(filterList);

		// 8. 获取HTable对象,并调用getScanner执行
		Table table = connection.getTable(TableName.valueOf("MOMO_CHAT:MESSAGE"));
		ResultScanner resultScanner = table.getScanner(scan);

		// 9. 获取迭代器,迭代每一行,同时迭代每一个单元格
		Iterator<Result> iterator = resultScanner.iterator();

		// 创建一个列表,用于保存查询出来的消息
		ArrayList<Message> msgList = new ArrayList<>();

		while (iterator.hasNext()) {
			// 每一行查询出来的数据都是一个Msg对象
			Result result = iterator.next();
			Message msg = new Message();
			// 获取rowkey
			String rowkey = Bytes.toString(result.getRow());
			// 单元格列表
			List<Cell> cellList = result.listCells();

			for (Cell cell : cellList) {
				// 根据当前的cell单元格的列名来判断,设置对应的字段
				String columnName = Bytes.toString(cell.getQualifierArray(), cell.getQualifierOffset(),cell.getQualifierLength());
				if (columnName.equals("msg_time")) {
					msg.setMsg_time(Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
				}
				if (columnName.equals("sender_nickyname")) {
					msg.setSender_nickyname(Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
				}
				if (columnName.equals("sender_account")) {
					msg.setSender_account(Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
				}
				if (columnName.equals("sender_sex")) {
					msg.setSender_sex(Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
				}
				if (columnName.equals("sender_ip")) {
					msg.setSender_ip(Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
				}
				if (columnName.equals("sender_os")) {
					msg.setSender_os(Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
				}
				if (columnName.equals("sender_phone_type")) {
					msg.setSender_phone_type(Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
				}
				if (columnName.equals("sender_network")) {
					msg.setSender_network(Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
				}
				if (columnName.equals("sender_gps")) {
					msg.setSender_gps(Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
				}
				if (columnName.equals("receiver_nickyname")) {
					msg.setReceiver_nickyname(Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
				}
				if (columnName.equals("receiver_ip")) {
					msg.setReceiver_ip(Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
				}
				if (columnName.equals("receiver_account")) {
					msg.setReceiver_account(Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
				}
				if (columnName.equals("receiver_os")) {
					msg.setReceiver_os(Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
				}
				if (columnName.equals("receiver_phone_type")) {
					msg.setReceiver_phone_type(Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
				}
				if (columnName.equals("receiver_network")) {
					msg.setReceiver_network(Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
				}
				if (columnName.equals("receiver_gps")) {
					msg.setReceiver_gps(Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
				}
				if (columnName.equals("receiver_sex")) {
					msg.setReceiver_sex(Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
				}
				if (columnName.equals("msg_type")) {
					msg.setMsg_type(Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
				}
				if (columnName.equals("distance")) {
					msg.setDistance(Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
				}
				if (columnName.equals("message")) {
					msg.setMessage(Bytes.toString(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));
				}
			}

			msgList.add(msg);
		}

		// 关闭资源
		resultScanner.close();
		table.close();

		return msgList;
	}

	@Override
	public void close() throws IOException {
		connection.close();
	}
}

3)、测试

import org.springframework.util.StopWatch;

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class TestApp {

	public static void main(String[] args) throws Exception {
		StopWatch clock = new StopWatch();
		clock.start(TestApp.class.getSimpleName());

		ChatMessageService hbaseNativeChatMessageService = new HBaseNativeChatMessageService();
		// String msg_time, String sender, String receiver
		List<Message> message = hbaseNativeChatMessageService.getMessage("2022-09-30", "13978325309", "15338014470");
		for (Message msg : message) {
			log.info("message:{}", msg);
		}
		//log.info("message:", message);
		hbaseNativeChatMessageService.close();

		clock.stop();
		log.info(clock.prettyPrint());
	}

}

 INFO - message:Message(msg_time=2022-09-30 10:36:36, sender_nickyname=许兴文, sender_account=13978325309, sender_sex=男, sender_ip=215.205.47.66, sender_os=Android 6.0, sender_phone_type=一加 OnePlus, sender_network=4G, sender_gps=114.058533,36.247553, receiver_nickyname=叶忆南, receiver_ip=178.220.200.51, receiver_account=15338014470, receiver_os=IOS 9.0, receiver_phone_type=华为 荣耀Play4T, receiver_network=4G, receiver_gps=126.274338,47.52752 , receiver_sex=男, msg_type=TEXT, distance=16.17KM, message=从前一个小女孩对着星空许下愿望:希望长大后可以拥有一份一生一世的爱情。今天这个女孩长大了,她希望你就是她一生一次的爱情。)
 INFO - message:Message(msg_time=2022-09-30 10:46:36, sender_nickyname=剑运骏, sender_account=13978325309, sender_sex=男, sender_ip=161.233.150.137, sender_os=IOS 12.0, sender_phone_type=小辣椒 红辣椒8X, sender_network=5G, sender_gps=80.060328,37.195431, receiver_nickyname=衷昱, receiver_ip=237.41.152.236, receiver_account=15338014470, receiver_os=Android 6, receiver_phone_type=Apple iPhone XR, receiver_network=4G, receiver_gps=119.504133,29.870683 , receiver_sex=男, msg_type=TEXT, distance=40.33KM, message=亲爱的,每天太阳升起的时候就是我在心里想你的开始,每天月亮升起的时候就是我在梦中想你的开始。月亮太阳让我爱你一生一世。 )
 INFO - message:Message(msg_time=2022-09-30 10:43:09, sender_nickyname=刘宏扬, sender_account=13978325309, sender_sex=男, sender_ip=148.208.93.37, sender_os=IOS 9.0, sender_phone_type=华为 荣耀畅玩9A, sender_network=4G, sender_gps=117.07569,34.010827, receiver_nickyname=栾依波, receiver_ip=191.101.193.148, receiver_account=15338014470, receiver_os=Android 7.0, receiver_phone_type=小辣椒 红辣椒8X, receiver_network=4G, receiver_gps=114.794425,25.749576 , receiver_sex=男, msg_type=TEXT, distance=41.35KM, message=红尘滚滚路漫漫,爱你切切意拳拳。青山盈盈水潺潺,岁月迢迢语姗姗。明月皎皎心千千,思念满满夜阑阑。执手默默,真情灿灿。我与你,永相伴。 )
 INFO - message:Message(msg_time=2022-09-30 10:16:42, sender_nickyname=沐范, sender_account=13978325309, sender_sex=男, sender_ip=52.183.211.198, sender_os=Android 6.0, sender_phone_type=小辣椒 红辣椒8X, sender_network=4G, sender_gps=107.361917,28.189123, receiver_nickyname=山昆鹏, receiver_ip=24.116.130.245, receiver_account=15338014470, receiver_os=IOS 12.0, receiver_phone_type=Apple iPhone 7, receiver_network=4G, receiver_gps=96.17636,35.408525 , receiver_sex=女, msg_type=TEXT, distance=59.54KM, message=绿水潺潺,倒影着你的身影;艳阳高照,闪耀着你的微笑;细细聆听,清风捎来浓浓思念;祝福传递,短信送来我的心愿。我愿与你携手相伴,幸福到老!)
 INFO - message:Message(msg_time=2022-09-30 10:27:22, sender_nickyname=卯飞羽, sender_account=13978325309, sender_sex=男, sender_ip=54.84.188.50, sender_os=Android 5.1, sender_phone_type=Apple iPhone 10, sender_network=4G, sender_gps=113.39623,22.371406, receiver_nickyname=胡雁荷, receiver_ip=149.119.60.52, receiver_account=15338014470, receiver_os=Android 5.1, receiver_phone_type=Apple iPhone 8, receiver_network=4G, receiver_gps=114.794425,25.749576 , receiver_sex=男, msg_type=TEXT, distance=86.33KM, message=总是希冀着你,出现在我现实的梦幻里,留住你更多的满心欢喜;总是渴望着你,把明天的色彩浓抹得绚丽,留住你的清纯甜美靓丽;总是幻想着你,留住你的容颜娇艳欲滴。亲爱的你给我真实的情意,早已轻轻地镌刻在你我相爱的日子里! )
 INFO - message:Message(msg_time=2022-09-30 10:48:27, sender_nickyname=禹璞玉, sender_account=13978325309, sender_sex=男, sender_ip=79.215.120.130, sender_os=Android 7.0, sender_phone_type=Apple iPhone 8, sender_network=5G, sender_gps=102.357852,23.801165, receiver_nickyname=赖美华, receiver_ip=18.41.168.51, receiver_account=15338014470, receiver_os=Android 8.0, receiver_phone_type=Apple iPhone 8, receiver_network=4G, receiver_gps=95.514058,34.010827 , receiver_sex=女, msg_type=TEXT, distance=49.24KM, message=泥是窝的嘴矮!泥是窝的梦乡!窝忧郁地看着泥!窝要对泥说,窝矮泥!(请用升调加降调大声朗读))
 INFO - message:Message(msg_time=2022-09-30 10:40:39, sender_nickyname=树项禹, sender_account=13978325309, sender_sex=女, sender_ip=251.228.196.190, sender_os=IOS 12.0, sender_phone_type=华为 荣耀Play4T, sender_network=5G, sender_gps=113.39623,22.371406, receiver_nickyname=叶忆南, receiver_ip=199.132.146.40, receiver_account=15338014470, receiver_os=IOS 9.0, receiver_phone_type=华为 荣耀Play4T, receiver_network=4G, receiver_gps=109.128057,42.739462, receiver_sex=男, msg_type=TEXT, distance=87.07KM, message=有人说爱是付出,倾尽所有才能打动对方。有人说爱是占有,不顾一切才能得到对方。我说爱是理解和包容,如此才能长久拥有对方。我就是这样爱你。)
 INFO - message:Message(msg_time=2022-09-30 10:43:44, sender_nickyname=乙翰音, sender_account=13978325309, sender_sex=女, sender_ip=255.192.53.226, sender_os=IOS 12.0, sender_phone_type=华为 荣耀畅玩9A, sender_network=5G, sender_gps=80.060328,38.073303, receiver_nickyname=萧听双, receiver_ip=127.36.76.183, receiver_account=15338014470, receiver_os=IOS 9.0, receiver_phone_type=小辣椒 红辣椒8X, receiver_network=4G, receiver_gps=119.577722,26.082344 , receiver_sex=女, msg_type=TEXT, distance=56.08KM, message=我心放飞何处?你我两分散,往事成灰。夜凉如水,网深似海。相识相知,欢颜畅言。风云突变,网事成灰。世情浅薄,欢情不再。此情永铭,此生不变!)
 INFO - message:Message(msg_time=2022-09-30 10:27:16, sender_nickyname=禹璞玉, sender_account=13978325309, sender_sex=男, sender_ip=174.212.66.77, sender_os=Android 8.0, sender_phone_type=OPPO Reno3, sender_network=4G, sender_gps=99.267106,26.811064, receiver_nickyname=谢景, receiver_ip=215.54.158.13, receiver_account=15338014470, receiver_os=Android 6.0, receiver_phone_type=OPPO Reno3, receiver_network=4G, receiver_gps=116.266209,44.133687 , receiver_sex=男, msg_type=TEXT, distance=8.55KM, message=当一切都已成风,我依然在此等候;当世界都已改变,我依然坚持最初;谁教我是个世界上最傻的人,只是知道要对自己喜欢的人好。)
 INFO - message:Message(msg_time=2022-09-30 10:17:00, sender_nickyname=皮哲瀚, sender_account=13978325309, sender_sex=女, sender_ip=189.106.189.244, sender_os=Android 6, sender_phone_type=Apple iPhone 11, sender_network=5G, sender_gps=122.742057,46.470265, receiver_nickyname=仁牧, receiver_ip=18.41.168.51, receiver_account=15338014470, receiver_os=Android 6, receiver_phone_type=华为 荣耀畅玩9A, receiver_network=5G, receiver_gps=96.397128,28.774328 , receiver_sex=男, msg_type=TEXT, distance=21.2KM, message=没有你的日子,愁无限,情未尽;没有你的日子,爱不止,情不断。亲爱的老婆,爱妻日且让我托一朵皎洁浮云,许给你一世柔情,一世安然。)
 INFO - message:Message(msg_time=2022-09-30 10:46:07, sender_nickyname=卢高达, sender_account=13978325309, sender_sex=女, sender_ip=40.95.8.36, sender_os=Android 5.1, sender_phone_type=Apple iPhone 10, sender_network=4G, sender_gps=114.573657,25.549461, receiver_nickyname=圭谷雪, receiver_ip=65.199.49.186, receiver_account=15338014470, receiver_os=Android 6.0, receiver_phone_type=小辣椒 红辣椒8X, receiver_network=5G, receiver_gps=111.188555,29.678076 , receiver_sex=女, msg_type=TEXT, distance=66.71KM, message=找了你很久很久,暮然回首你却在那里等候;寻了你很长很长,忽然看见你含情脉脉的目光;我的心跳了,我的情动了,你就是我生命中的另一半!)
 INFO - message:Message(msg_time=2022-09-30 10:19:28, sender_nickyname=禹璞玉, sender_account=13978325309, sender_sex=男, sender_ip=36.125.226.74, sender_os=Android 6.0, sender_phone_type=VIVO U3X, sender_network=4G, sender_gps=82.415182,43.386971, receiver_nickyname=畅雅柏, receiver_ip=222.176.151.251, receiver_account=15338014470, receiver_os=Android 7.0, receiver_phone_type=Apple iPhone 8, receiver_network=4G, receiver_gps=127.966889,48.023583 , receiver_sex=女, msg_type=TEXT, distance=98.52KM, message=)
 INFO - message:Message(msg_time=2022-09-30 10:15:45, sender_nickyname=栗经纬, sender_account=13978325309, sender_sex=男, sender_ip=35.252.199.53, sender_os=Android 7.0, sender_phone_type=Apple iPhone XR, sender_network=4G, sender_gps=107.361917,28.189123, receiver_nickyname=马新林, receiver_ip=221.139.7.80, receiver_account=15338014470, receiver_os=Android 7.0, receiver_phone_type=Apple iPhone 7, receiver_network=4G, receiver_gps=123.845895,51.821872 , receiver_sex=男, msg_type=TEXT, distance=98.59KM, message=我小心翼翼地把往事放在心里,唯恐时间将它淡化,让我无处寻觅,可又怕走近,惊扰你宁静的天空。)
 INFO - message:Message(msg_time=2022-09-30 10:19:35, sender_nickyname=伟飞鸿, sender_account=13978325309, sender_sex=男, sender_ip=151.37.182.209, sender_os=IOS 12.0, sender_phone_type=Apple iPhone XR, sender_network=4G, sender_gps=120.607971,31.650084, receiver_nickyname=瑞高飞, receiver_ip=104.73.66.176, receiver_account=15338014470, receiver_os=Android 8.0, receiver_phone_type=小辣椒 红辣椒8X, receiver_network=4G, receiver_gps=108.318576,24.678412, , receiver_sex=男, msg_type=TEXT, distance=62.KM, message=你的睫毛微微上翘,弹奏着美丽旋律的妙,你的嘴角微微上翘,刻画着自信可爱的笑,亲爱的,你每一个细节的魅力都是我爱追逐的目标,爱你。)
 INFO - message:Message(msg_time=2022-09-30 10:15:47, sender_nickyname=谷谨, sender_account=13978325309, sender_sex=男, sender_ip=151.98.0.166, sender_os=Android 8.0, sender_phone_type=Apple iPhone 10, sender_network=4G, sender_gps=99.267106,26.811064, receiver_nickyname=衷昱, receiver_ip=196.219.200.148, receiver_account=15338014470, receiver_os=IOS 12.0, receiver_phone_type=OPPO A11X, receiver_network=5G, receiver_gps=126.568695,49.146493 , receiver_sex=男, msg_type=TEXT, distance=5.14KM, message=一天不见想看你两眼发直没有气三次拿起电话机四肢冰凉汗直披五脏六腑在叹气七嘴八舌怪自己久而久之有主意十点之前我等你。)
 INFO - message:Message(msg_time=2022-09-30 10:44:48, sender_nickyname=藏珍, sender_account=13978325309, sender_sex=男, sender_ip=151.98.0.166, sender_os=Android 6.0, sender_phone_type=VIVO U3X, sender_network=4G, sender_gps=88.817442,44.292476, receiver_nickyname=元俊风, receiver_ip=196.75.116.78, receiver_account=15338014470, receiver_os=Android 7.0, receiver_phone_type=华为 荣耀畅玩9A, receiver_network=4G, receiver_gps=77.779064,39.170195 , receiver_sex=男, msg_type=TEXT, distance=67.39KM, message=有一种想见不敢见的伤痛,这一种爱还埋藏在我心中,让我对你的思念越来越浓,我却只能把你你放在我心中。 )
 INFO - message:Message(msg_time=2022-09-30 10:22:51, sender_nickyname=捷文耀, sender_account=13978325309, sender_sex=男, sender_ip=60.88.69.32, sender_os=Android 8.0, sender_phone_type=OPPO Reno3, sender_network=5G, sender_gps=114.058533,36.247553, receiver_nickyname=伦芝兰, receiver_ip=215.54.158.13, receiver_account=15338014470, receiver_os=Android 8.0, receiver_phone_type=Apple iPhone 8, receiver_network=4G, receiver_gps=89.700512,31.271589 , receiver_sex=男, msg_type=TEXT, distance=36.24KM, message=人生虽然不能《从头再来》,但我今生仍然欣喜能与你《相亲相爱》;尽管不能《爱你一万年》,但你仍是我今生唯一的《传奇》。)
 INFO - message:Message(msg_time=2022-09-30 10:31:20, sender_nickyname=郯乐游, sender_account=13978325309, sender_sex=男, sender_ip=54.105.36.176, sender_os=Android 7.0, sender_phone_type=OPPO Reno3, sender_network=4G, sender_gps=113.39623,22.371406, receiver_nickyname=惠春荷, receiver_ip=41.252.164.18, receiver_account=15338014470, receiver_os=Android 6, receiver_phone_type=Apple iPhone 12, receiver_network=4G, receiver_gps=110.011128,26.480405 , receiver_sex=女, msg_type=TEXT, distance=95.37KM, message=世界上最美的是你的容颜,最香的是你的发香,最难忘的是与你相伴的日子,最期待的是那枚闪着幸福之光的戒指,爱你不悔!)
 INFO - message:Message(msg_time=2022-09-30 10:46:39, sender_nickyname=骆高翰, sender_account=13978325309, sender_sex=男, sender_ip=110.251.246.10, sender_os=Android 7.0, sender_phone_type=Apple iPhone 8, sender_network=4G, sender_gps=100.297355,24.206808, receiver_nickyname=咸又晴, receiver_ip=252.167.142.203, receiver_account=15338014470, receiver_os=Android 8.0, receiver_phone_type=Apple iPhone 8, receiver_network=4G, receiver_gps=96.912252,39.112886 , receiver_sex=女, msg_type=TEXT, distance=20.54KM, message=从前一个小女孩对着星空许下愿望:希望长大后可以拥有一份一生一世的爱情。今天这个女孩长大了,她希望你就是她一生一次的爱情。)
 INFO - message:Message(msg_time=2022-09-30 10:30:18, sender_nickyname=栗经纬, sender_account=13978325309, sender_sex=男, sender_ip=187.181.131.25, sender_os=Android 8.0, sender_phone_type=一加 OnePlus, sender_network=4G, sender_gps=119.651311,33.519113, receiver_nickyname=叶忆南, receiver_ip=114.137.122.109, receiver_account=15338014470, receiver_os=Android 6.0, receiver_phone_type=华为 荣耀畅玩9A, receiver_network=5G, receiver_gps=107.214739,41.534492 , receiver_sex=男, msg_type=TEXT, distance=16.01KM, message=我在梦里转一个弯,看见那段好时光,虽然现在你不在我身旁,你的身影却存在我心房。)
 INFO - message:Message(msg_time=2022-09-30 10:32:36, sender_nickyname=嬴良工, sender_account=13978325309, sender_sex=男, sender_ip=129.100.252.59, sender_os=Android 5.1, sender_phone_type=华为 荣耀畅玩9A, sender_network=4G, sender_gps=102.357852,25.682909, receiver_nickyname=梁元龙, receiver_ip=5.95.218.73, receiver_account=15338014470, receiver_os=Android 6.0, receiver_phone_type=小辣椒 红辣椒8X, receiver_network=5G, receiver_gps=104.197582,33.765326 , receiver_sex=男, msg_type=TEXT, distance=22.22KM, message=有人说爱是付出,倾尽所有才能打动对方。有人说爱是占有,不顾一切才能得到对方。我说爱是理解和包容,如此才能长久拥有对方。我就是这样爱你。)
 INFO - message:Message(msg_time=2022-09-30 10:36:22, sender_nickyname=凤茂彦, sender_account=13978325309, sender_sex=男, sender_ip=111.121.81.4, sender_os=Android 7.0, sender_phone_type=小辣椒 红辣椒8X, sender_network=4G, sender_gps=82.415182,43.386971, receiver_nickyname=边高懿, receiver_ip=214.28.197.29, receiver_account=15338014470, receiver_os=Android 6, receiver_phone_type=Apple iPhone 11, receiver_network=5G, receiver_gps=121.049506,42.793684 , receiver_sex=女, msg_type=TEXT, distance=16.97KM, message=绿水潺潺,倒影着你的身影;艳阳高照,闪耀着你的微笑;细细聆听,清风捎来浓浓思念;祝福传递,短信送来我的心愿。我愿与你携手相伴,幸福到老!)
 INFO - message:Message(msg_time=2022-09-30 10:43:32, sender_nickyname=独职, sender_account=13978325309, sender_sex=女, sender_ip=83.229.79.81, sender_os=Android 7.0, sender_phone_type=华为 荣耀畅玩9A, sender_network=4G, sender_gps=119.651311,29.99888, receiver_nickyname=潮凯捷, receiver_ip=24.116.130.245, receiver_account=15338014470, receiver_os=Android 8.0, receiver_phone_type=小辣椒 红辣椒8X, receiver_network=4G, receiver_gps=124.802554,51.132573 , receiver_sex=男, msg_type=TEXT, distance=63.68KM, message=此情重,彼情重,朝暮相思路难通,恍惚风雨中。君意浓,妾意浓,何时共明月秋风,天涯亦相从。)
 INFO - message:Message(msg_time=2022-09-30 10:13:32, sender_nickyname=贵舟, sender_account=13978325309, sender_sex=男, sender_ip=250.150.185.189, sender_os=IOS 12.0, sender_phone_type=小辣椒 红辣椒8X, sender_network=4G, sender_gps=84.770036,40.923356, receiver_nickyname=钮浩丽, receiver_ip=136.66.109.160, receiver_account=15338014470, receiver_os=Android 8.0, receiver_phone_type=Apple iPhone 10, receiver_network=3G, receiver_gps=79.91315,40.755684 , receiver_sex=女, msg_type=TEXT, distance=67.39KM, message=一天不见想看你两眼发直没有气三次拿起电话机四肢冰凉汗直披五脏六腑在叹气七嘴八舌怪自己久而久之有主意十点之前我等你。)
 INFO - message:Message(msg_time=2022-09-30 10:20:33, sender_nickyname=沐范, sender_account=13978325309, sender_sex=男, sender_ip=185.50.161.162, sender_os=Android 7.0, sender_phone_type=Apple iPhone 8, sender_network=4G, sender_gps=102.357852,23.801165, receiver_nickyname=寻访儿, receiver_ip=214.28.197.29, receiver_account=15338014470, receiver_os=IOS 12.0, receiver_phone_type=华为 荣耀Play4T, receiver_network=5G, receiver_gps=109.716771,40.41906 , receiver_sex=男, msg_type=TEXT, distance=94.63KM, message=生生缘,世世牵,红尘有你情无限,声声诉,丝丝缠,风雪与共相拥暖,牵挂浓,绕身畔,几许关爱润心田,许爱意,把梦圆,此生爱你永不变!)
 INFO - message:Message(msg_time=2022-09-30 10:17:22, sender_nickyname=陀壤, sender_account=13978325309, sender_sex=男, sender_ip=49.20.144.228, sender_os=Android 7.0, sender_phone_type=Apple iPhone 8, sender_network=4G, sender_gps=128.114068,46.825023, receiver_nickyname=镜富, receiver_ip=246.110.122.28, receiver_account=15338014470, receiver_os=IOS 9.0, receiver_phone_type=一加 OnePlus, receiver_network=3G, receiver_gps=118.326706,31.018403, , receiver_sex=男, msg_type=TEXT, distance=16.01KM, message=给你的拥抱,有我最贴心的温度;给你的呵护,有我最温柔的眼神;给你最好的照顾,用我最实际的行动;给你的真实幸福,有我最诚挚的情谊,爱你在时时刻刻,想你在朝朝暮暮。)
 INFO - message:Message(msg_time=2022-09-30 10:38:28, sender_nickyname=蛮炎彬, sender_account=13978325309, sender_sex=男, sender_ip=75.77.195.90, sender_os=Android 7.0, sender_phone_type=华为 荣耀畅玩9A, sender_network=4G, sender_gps=96.985842,38.537214, receiver_nickyname=户雍恬, receiver_ip=185.81.202.99, receiver_account=15338014470, receiver_os=Android 8.0, receiver_phone_type=Apple iPhone 8, receiver_network=5G, receiver_gps=126.274338,47.52752 , receiver_sex=男, msg_type=TEXT, distance=95.37KM, message=是风是雨是思念,搅乱一池春花瓣;是我是你是情牵,三生痴情不问天;是悲是欢是流年,爱你永远无悔怨。亲,痴心爱你永远不变! )
 INFO - message:Message(msg_time=2022-09-30 10:28:15, sender_nickyname=俟谊, sender_account=13978325309, sender_sex=男, sender_ip=30.167.134.130, sender_os=Android 7.0, sender_phone_type=小辣椒 红辣椒8X, sender_network=5G, sender_gps=116.707744,40.811622, receiver_nickyname=夕司辰, receiver_ip=104.125.203.80, receiver_account=15338014470, receiver_os=IOS 12.0, receiver_phone_type=Apple iPhone 8, receiver_network=4G, receiver_gps=104.271171,30.509991 , receiver_sex=女, msg_type=TEXT, distance=48.6KM, message=给你发完短信息,浑身感觉甜蜜蜜。放下鼠标想心事,今天就说我爱你!!)
 INFO - message:Message(msg_time=2022-09-30 10:45:36, sender_nickyname=池涉, sender_account=13978325309, sender_sex=男, sender_ip=35.252.199.53, sender_os=Android 8.0, sender_phone_type=华为 荣耀9X, sender_network=5G, sender_gps=108.392166,23.665665, receiver_nickyname=鞠良骏, receiver_ip=196.75.116.78, receiver_account=15338014470, receiver_os=Android 7.0, receiver_phone_type=OPPO A11X, receiver_network=4G, receiver_gps=115.456728,31.964312 , receiver_sex=女, msg_type=TEXT, distance=61.27KM, message=有一种想见不敢见的伤痛,这一种爱还埋藏在我心中,让我对你的思念越来越浓,我却只能把你你放在我心中。 )
 INFO - message:Message(msg_time=2022-09-30 10:33:17, sender_nickyname=嬴良工, sender_account=13978325309, sender_sex=女, sender_ip=166.176.99.119, sender_os=Android 5.1, sender_phone_type=VIVO U3X, sender_network=4G, sender_gps=103.976814,34.499684, receiver_nickyname=肖沛, receiver_ip=95.237.112.44, receiver_account=15338014470, receiver_os=IOS 9.0, receiver_phone_type=VIVO U3X, receiver_network=4G, receiver_gps=80.281096,37.781842 , receiver_sex=男, msg_type=TEXT, distance=15.78KM, message=左眼眨,我想你;右眼眨,我念你;左右眼都眨,我在想念你!闭左眼,我唤你;闭右眼,我呼你;左右眼都闭,我呼唤你。原来醒着梦着我都真的好想你!)
 INFO - message:Message(msg_time=2022-09-30 10:40:49, sender_nickyname=衡文瑞, sender_account=13978325309, sender_sex=男, sender_ip=195.188.222.255, sender_os=Android 6.0, sender_phone_type=OPPO A11X, sender_network=4G, sender_gps=88.817442,44.292476, receiver_nickyname=宾适, receiver_ip=6.239.147.119, receiver_account=15338014470, receiver_os=IOS 9.0, receiver_phone_type=华为 荣耀畅玩9A, receiver_network=5G, receiver_gps=132.676597,46.723902 , receiver_sex=女, msg_type=TEXT, distance=49.15KM, message=我愿化作一枝玫瑰花,被你紧紧握在手里,为你吐露芬芳;我想变成一块巧克力,被你轻轻含在口中,让你感觉香甜。 )
 INFO - message:Message(msg_time=2022-09-30 10:22:14, sender_nickyname=丹景龙, sender_account=13978325309, sender_sex=男, sender_ip=29.104.198.238, sender_os=Android 7.0, sender_phone_type=一加 OnePlus, sender_network=4G, sender_gps=88.743853,39.227457, receiver_nickyname=召痴梅, receiver_ip=46.141.201.236, receiver_account=15338014470, receiver_os=Android 6, receiver_phone_type=Apple iPhone 7, receiver_network=5G, receiver_gps=123.036414,49.6269 , receiver_sex=女, msg_type=TEXT, distance=16.23KM, message=想你情深深,念你几回回。任岁月流淌,你依旧最美。回首更妩媚,牵手永相随。陪你慢慢走,直至山无棱。人节到了,此生只爱你,无怨又无悔!)
 INFO - message:Message(msg_time=2022-09-30 10:16:27, sender_nickyname=栾鹏鲸, sender_account=13978325309, sender_sex=女, sender_ip=74.49.122.126, sender_os=IOS 12.0, sender_phone_type=华为 荣耀Play4T, sender_network=4G, sender_gps=107.361917,28.189123, receiver_nickyname=祖琰琬, receiver_ip=88.160.94.20, receiver_account=15338014470, receiver_os=IOS 12.0, receiver_phone_type=华为 荣耀畅玩9A, receiver_network=5G, receiver_gps=126.568695,49.146493 , receiver_sex=女, msg_type=TEXT, distance=60.27KM, message=一天不见想看你两眼发直没有气三次拿起电话机四肢冰凉汗直披五脏六腑在叹气七嘴八舌怪自己久而久之有主意十点之前我等你。)
 INFO - message:Message(msg_time=2022-09-30 10:28:31, sender_nickyname=衡文瑞, sender_account=13978325309, sender_sex=男, sender_ip=79.215.120.130, sender_os=Android 8.0, sender_phone_type=小辣椒 红辣椒8X, sender_network=4G, sender_gps=79.324437,40.699699, receiver_nickyname=惠春荷, receiver_ip=106.162.212.175, receiver_account=15338014470, receiver_os=IOS 12.0, receiver_phone_type=小辣椒 红辣椒8X, receiver_network=5G, receiver_gps=105.669366,32.527193 , receiver_sex=男, msg_type=TEXT, distance=.05KM, message=红尘滚滚路漫漫,爱你切切意拳拳。青山盈盈水潺潺,岁月迢迢语姗姗。明月皎皎心千千,思念满满夜阑阑。执手默默,真情灿灿。我与你,永相伴。 )
 INFO - message:Message(msg_time=2022-09-30 10:25:30, sender_nickyname=悉豪, sender_account=13978325309, sender_sex=女, sender_ip=105.52.0.120, sender_os=Android 7.0, sender_phone_type=OPPO A11X, sender_network=4G, sender_gps=84.034145,40.531458, receiver_nickyname=户雍恬, receiver_ip=31.124.210.197, receiver_account=15338014470, receiver_os=Android 5.1, receiver_phone_type=Apple iPhone 8, receiver_network=4G, receiver_gps=107.214739,41.534492 , receiver_sex=女, msg_type=TEXT, distance=8.55KM, message=海天相接,我看不到你的足迹。是不是你给了我多少快乐,就要给我多少痛苦?你真的好残忍!)
 INFO - message:Message(msg_time=2022-09-30 10:43:04, sender_nickyname=韦彭魄, sender_account=13978325309, sender_sex=男, sender_ip=233.10.187.110, sender_os=IOS 12.0, sender_phone_type=Apple iPhone 8, sender_network=4G, sender_gps=124.361019,45.856657, receiver_nickyname=律山菡, receiver_ip=195.178.61.111, receiver_account=15338014470, receiver_os=Android 8.0, receiver_phone_type=, receiver_network=3G, receiver_gps=84.696447,43.279531 , receiver_sex=女, msg_type=TEXT, distance=95.37KM, message=只有懂得生活的人,才能够感受生活中的美好,只有懂得爱的人,才能领略爱的真谛!今天我用心去默默想你,永远爱你感谢你走进了我的生活。)
 INFO - message:Message(msg_time=2022-09-30 10:39:07, sender_nickyname=卯飞羽, sender_account=13978325309, sender_sex=男, sender_ip=255.192.53.226, sender_os=Android 6.0, sender_phone_type=Apple iPhone 8, sender_network=4G, sender_gps=119.136187,36.545032, receiver_nickyname=肖沛, receiver_ip=14.70.249.76, receiver_account=15338014470, receiver_os=Android 7.0, receiver_phone_type=华为 荣耀畅玩9A, receiver_network=4G, receiver_gps=106.920382,24.476514 , receiver_sex=女, msg_type=TEXT, distance=40.62KM, message=城市的大雨淋湿我不了我对你暖暖的爱,陌生的街角总有我给你的温暖拥抱,前路茫茫有你陪着就好,夜晚太黑有你在就很明亮。我会一直陪在你身边的!)
 INFO - message:Message(msg_time=2022-09-30 10:44:21, sender_nickyname=赖英达, sender_account=13978325309, sender_sex=女, sender_ip=155.242.41.91, sender_os=IOS 12.0, sender_phone_type=Apple iPhone 11, sender_network=4G, sender_gps=, receiver_nickyname=戎南蕾, receiver_ip=211.190.23.162, receiver_account=15338014470, receiver_os=IOS 9.0, receiver_phone_type=小辣椒 红辣椒8X, receiver_network=5G, receiver_gps=91.908188,32.838377 , receiver_sex=女, msg_type=TEXT, distance=12.59KM, message=这些天好像有一只蚂蚁在我心里慢慢爬行,痒痒的,难忍的,让我哭让我笑的,让我欢喜让我忧的,让我怎能不爱你!)
 INFO - message:Message(msg_time=2022-09-30 10:35:49, sender_nickyname=剑运骏, sender_account=13978325309, sender_sex=男, sender_ip=58.90.70.42, sender_os=IOS 9.0, sender_phone_type=Apple iPhone 10, sender_network=4G, sender_gps=120.607971,31.650084, receiver_nickyname=衷昱, receiver_ip=12.135.54.238, receiver_account=15338014470, receiver_os=Android 6, receiver_phone_type=Apple iPhone 8, receiver_network=4G, receiver_gps=96.323539,31.964312 , receiver_sex=男, msg_type=TEXT, distance=95.37KM, message=将你的名字写在手里,刻在心里;把你的容颜看在眼里,印在脑海里。不管天崩地裂,不论海枯石烂,你永远是我的唯一。老婆,我爱你!)
 INFO - message:Message(msg_time=2022-09-30 10:24:14, sender_nickyname=宣英耀, sender_account=13978325309, sender_sex=男, sender_ip=45.71.69.35, sender_os=Android 6.0, sender_phone_type=Apple iPhone 11, sender_network=5G, sender_gps=124.655376,43.921297, receiver_nickyname=萧听双, receiver_ip=246.23.234.180, receiver_account=15338014470, receiver_os=IOS 9.0, receiver_phone_type=VIVO U3X, receiver_network=5G, receiver_gps=100.665301,36.722967 , receiver_sex=男, msg_type=TEXT, distance=15.78KM, message=早知道和你注定是无尽的忧郁,我却不知该如何收回我的心意。不能说出的故事,一场美丽的相遇,爱是一场不悔的沉醉。)
 INFO - message:Message(msg_time=2022-09-30 10:38:39, sender_nickyname=牛星海, sender_account=13978325309, sender_sex=女, sender_ip=83.229.79.81, sender_os=Android 6.0, sender_phone_type=华为 荣耀畅玩9A, sender_network=4G, sender_gps=113.911355,23.190297, receiver_nickyname=户雍恬, receiver_ip=35.210.249.163, receiver_account=15338014470, receiver_os=Android 7.0, receiver_phone_type=Apple iPhone 8, receiver_network=4G, receiver_gps=113.101874,38.883181 , receiver_sex=女, msg_type=TEXT, distance=98.86KM, message=从前一个小女孩对着星空许下愿望:希望长大后可以拥有一份一生一世的爱情。今天这个女孩长大了,她希望你就是她一生一次的爱情。)
 INFO - message:Message(msg_time=2022-09-30 10:28:00, sender_nickyname=房景铄, sender_account=13978325309, sender_sex=男, sender_ip=237.117.243.30, sender_os=Android 6.0, sender_phone_type=Apple iPhone XR, sender_network=5G, sender_gps=120.828738,29.99888, receiver_nickyname=闻人安莲, receiver_ip=140.217.140.154, receiver_account=15338014470, receiver_os=Android 7.0, receiver_phone_type=Apple iPhone 8, receiver_network=4G, receiver_gps=118.326706,31.018403, , receiver_sex=男, msg_type=TEXT, distance=8.55KM, message=我知道你很忙,但是你一定要知道:你今天的任务是很重要的,因为你的任务是知道我在想念你。)
 INFO - message:Message(msg_time=2022-09-30 10:43:46, sender_nickyname=周阳州, sender_account=13978325309, sender_sex=男, sender_ip=240.25.191.116, sender_os=Android 5.1, sender_phone_type=Apple iPhone XR, sender_network=4G, sender_gps=100.591712,24.004148, receiver_nickyname=枝寄柔, receiver_ip=56.138.151.150, receiver_account=15338014470, receiver_os=IOS 12.0, receiver_phone_type=, receiver_network=5G, receiver_gps=128.555603,44.186665 , receiver_sex=男, msg_type=TEXT, distance=67.56KM, message=红尘滚滚路漫漫,爱你切切意拳拳。青山盈盈水潺潺,岁月迢迢语姗姗。明月皎皎心千千,思念满满夜阑阑。执手默默,真情灿灿。我与你,永相伴。 )
 INFO - message:Message(msg_time=2022-09-30 10:42:53, sender_nickyname=养昆颉, sender_account=13978325309, sender_sex=女, sender_ip=255.192.53.226, sender_os=IOS 9.0, sender_phone_type=华为 荣耀Play4T, sender_network=4G, sender_gps=119.136187,36.545032, receiver_nickyname=答语梦, receiver_ip=214.28.197.29, receiver_account=15338014470, receiver_os=Android 5.1, receiver_phone_type=华为 荣耀畅玩9A, receiver_network=4G, receiver_gps=100.886068,33.395741 , receiver_sex=女, msg_type=TEXT, distance=39.17KM, message=世界上最美的是你的容颜,最香的是你的发香,最难忘的是与你相伴的日子,最期待的是那枚闪着幸福之光的戒指,爱你不悔!)
 INFO - message:Message(msg_time=2022-09-30 10:18:47, sender_nickyname=朱诚, sender_account=13978325309, sender_sex=男, sender_ip=41.31.83.151, sender_os=Android 6, sender_phone_type=小辣椒 红辣椒8X, sender_network=5G, sender_gps=102.357852,25.682909, receiver_nickyname=边高懿, receiver_ip=55.194.234.99, receiver_account=15338014470, receiver_os=IOS 12.0, receiver_phone_type=Apple iPhone 8, receiver_network=4G, receiver_gps=124.213841,47.32776 , receiver_sex=男, msg_type=TEXT, distance=26.08KM, message=托风带去思念的信息,想你的千言万语,只要你开口,我想我会寸步不离。)
 INFO - message:Message(msg_time=2022-09-30 10:27:29, sender_nickyname=栗经纬, sender_account=13978325309, sender_sex=女, sender_ip=78.53.198.123, sender_os=IOS 9.0, sender_phone_type=华为 荣耀畅玩9A, sender_network=4G, sender_gps=111.998036,29.549464, receiver_nickyname=容慧英, receiver_ip=196.219.200.148, receiver_account=15338014470, receiver_os=Android 8.0, receiver_phone_type=Apple iPhone 7, receiver_network=3G, receiver_gps=80.281096,37.781842 , receiver_sex=男, msg_type=TEXT, distance=99.17KM, message=给你的拥抱,有我最贴心的温度;给你的呵护,有我最温柔的眼神;给你最好的照顾,用我最实际的行动;给你的真实幸福,有我最诚挚的情谊,爱你在时时刻刻,想你在朝朝暮暮。)
 INFO - message:Message(msg_time=2022-09-30 10:41:11, sender_nickyname=栾鹏鲸, sender_account=13978325309, sender_sex=女, sender_ip=2.48.209.227, sender_os=IOS 9.0, sender_phone_type=华为 荣耀Play4T, sender_network=4G, sender_gps=117.07569,34.010827, receiver_nickyname=戎南蕾, receiver_ip=225.104.57.224, receiver_account=15338014470, receiver_os=Android 6.0, receiver_phone_type=华为 荣耀畅玩9A, receiver_network=5G, receiver_gps=85.653107,33.21035 , receiver_sex=男, msg_type=TEXT, distance=26.08KM, message=红尘里,人海中,千寻万觅我们相逢;走过雨,经过风,人生路上携手前行;情之笃,爱之浓,誓言刻透缘三生。爱你永不离。)
 INFO - message:Message(msg_time=2022-09-30 10:31:56, sender_nickyname=凤茂彦, sender_account=13978325309, sender_sex=女, sender_ip=251.228.196.190, sender_os=IOS 9.0, sender_phone_type=华为 荣耀Play4T, sender_network=4G, sender_gps=99.487874,33.21035, receiver_nickyname=井采, receiver_ip=183.88.173.174, receiver_account=15338014470, receiver_os=IOS 9.0, receiver_phone_type=一加 OnePlus, receiver_network=4G, receiver_gps=96.397128,28.774328 , receiver_sex=男, msg_type=TEXT, distance=60.27KM, message=爱你,却要无欲无求,好难!爱你,却要偷偷摸摸,好累!爱你,却让自己心碎,好惨!但竟然心甘情愿,好傻!!!)
 INFO - message:Message(msg_time=2022-09-30 10:21:21, sender_nickyname=功慨, sender_account=13978325309, sender_sex=男, sender_ip=182.113.203.52, sender_os=Android 5.1, sender_phone_type=华为 荣耀畅玩9A, sender_network=4G, sender_gps=86.756945,31.461029, receiver_nickyname=袁凌晴, receiver_ip=126.6.200.58, receiver_account=15338014470, receiver_os=Android 6, receiver_phone_type=Apple iPhone 12, receiver_network=5G, receiver_gps=112.071625,31.83875 , receiver_sex=男, msg_type=TEXT, distance=67.71KM, message=开朗和优雅牵手,种下快乐的常青树;善良和忠诚结缘,耕耘平安的一方土;我们的相爱相知,描绘一幅幸福图。我爱你,我的宝贝啊,你会一直藏在我心里,暖着,爱着。)
 INFO - message:Message(msg_time=2022-09-30 10:38:57, sender_nickyname=栾鹏鲸, sender_account=13978325309, sender_sex=女, sender_ip=154.205.92.70, sender_os=Android 8.0, sender_phone_type=OPPO A11X, sender_network=4G, sender_gps=116.192619,32.900483, receiver_nickyname=葛忆灵, receiver_ip=191.101.193.148, receiver_account=15338014470, receiver_os=Android 8.0, receiver_phone_type=VIVO U3X, receiver_network=4G, receiver_gps=100.297355,32.900483 , receiver_sex=男, msg_type=TEXT, distance=66.71KM, message=总是希冀着你,出现在我现实的梦幻里,留住你更多的满心欢喜;总是渴望着你,把明天的色彩浓抹得绚丽,留住你的清纯甜美靓丽;总是幻想着你,留住你的容颜娇艳欲滴。亲爱的你给我真实的情意,早已轻轻地镌刻在你我相爱的日子里! )
 INFO - message:Message(msg_time=2022-09-30 10:19:11, sender_nickyname=伟飞鸿, sender_account=13978325309, sender_sex=女, sender_ip=40.191.133.115, sender_os=Android 6, sender_phone_type=一加 OnePlus, sender_network=4G, sender_gps=113.911355,33.765326, receiver_nickyname=招海女, receiver_ip=196.75.116.78, receiver_account=15338014470, receiver_os=Android 8.0, receiver_phone_type=华为 荣耀畅玩9A, receiver_network=5G, receiver_gps=102.725798,37.430552 , receiver_sex=女, msg_type=TEXT, distance=95.37KM, message=世界上最美的是你的容颜,最香的是你的发香,最难忘的是与你相伴的日子,最期待的是那枚闪着幸福之光的戒指,爱你不悔!)
 INFO - message:Message(msg_time=2022-09-30 10:27:44, sender_nickyname=祭振国, sender_account=13978325309, sender_sex=男, sender_ip=9.158.177.56, sender_os=Android 6, sender_phone_type=华为 荣耀Play4T, sender_network=5G, sender_gps=104.565528,25.415863, receiver_nickyname=丛傲安, receiver_ip=147.235.68.36, receiver_account=15338014470, receiver_os=Android 8.0, receiver_phone_type=小辣椒 红辣椒8X, receiver_network=4G, receiver_gps=121.049506,42.793684 , receiver_sex=男, msg_type=TEXT, distance=72.1KM, message=早知道和你注定是无尽的忧郁,我却不知该如何收回我的心意。不能说出的故事,一场美丽的相遇,爱是一场不悔的沉醉。)
 INFO - message:Message(msg_time=2022-09-30 10:14:07, sender_nickyname=嬴良工, sender_account=13978325309, sender_sex=男, sender_ip=148.40.161.120, sender_os=Android 7.0, sender_phone_type=一加 OnePlus, sender_network=4G, sender_gps=128.114068,46.825023, receiver_nickyname=屠山蝶, receiver_ip=104.73.66.176, receiver_account=15338014470, receiver_os=Android 7.0, receiver_phone_type=Apple iPhone 12, receiver_network=4G, receiver_gps=109.716771,40.41906 , receiver_sex=男, msg_type=TEXT, distance=37.93KM, message=想你情深深,念你几回回。任岁月流淌,你依旧最美。回首更妩媚,牵手永相随。陪你慢慢走,直至山无棱。人节到了,此生只爱你,无怨又无悔!)
 INFO - message:Message(msg_time=2022-09-30 10:17:46, sender_nickyname=宣英耀, sender_account=13978325309, sender_sex=男, sender_ip=49.20.144.228, sender_os=IOS 12.0, sender_phone_type=华为 荣耀畅玩9A, sender_network=4G, sender_gps=124.361019,45.856657, receiver_nickyname=六悦可, receiver_ip=78.137.116.188, receiver_account=15338014470, receiver_os=Android 6.0, receiver_phone_type=华为 荣耀Play4T, receiver_network=4G, receiver_gps=119.356955,44.398096 , receiver_sex=男, msg_type=TEXT, distance=98.7KM, message=时间说再见,思念不会变,不管多遥远,我能看见你的脸,时间说再见,爱恋不会变,不管多艰难,我要望到你的眼,亲爱的,时间改变不了我们心手相依,爱你。 )
 INFO - message:Message(msg_time=2022-09-30 10:17:47, sender_nickyname=果飞宇, sender_account=13978325309, sender_sex=男, sender_ip=52.183.211.198, sender_os=Android 7.0, sender_phone_type=VIVO U3X, sender_network=5G, sender_gps=108.760112,27.53508, receiver_nickyname=叶忆南, receiver_ip=108.148.67.63, receiver_account=15338014470, receiver_os=Android 5.1, receiver_phone_type=Apple iPhone 10, receiver_network=4G, receiver_gps=100.665301,36.722967 , receiver_sex=男, msg_type=TEXT, distance=84.58KM, message=爱情是株植物,播种的时候谁能想到它会发出什么样的芽,开出什么样的花,结出什么样的果实?)
 INFO - message:Message(msg_time=2022-09-30 10:36:50, sender_nickyname=骆高翰, sender_account=13978325309, sender_sex=男, sender_ip=12.177.114.127, sender_os=IOS 9.0, sender_phone_type=华为 荣耀Play4T, sender_network=4G, sender_gps=88.743853,39.227457, receiver_nickyname=丛傲安, receiver_ip=39.245.182.88, receiver_account=15338014470, receiver_os=Android 8.0, receiver_phone_type=Apple iPhone 8, receiver_network=4G, receiver_gps=122.962825,52.813976 , receiver_sex=女, msg_type=TEXT, distance=91.43KM, message=城市的大雨淋湿我不了我对你暖暖的爱,陌生的街角总有我给你的温暖拥抱,前路茫茫有你陪着就好,夜晚太黑有你在就很明亮。我会一直陪在你身边的!)
 INFO - message:Message(msg_time=2022-09-30 10:17:51, sender_nickyname=纳风华, sender_account=13978325309, sender_sex=男, sender_ip=155.242.41.91, sender_os=Android 7.0, sender_phone_type=OPPO Reno3, sender_network=5G, sender_gps=111.335733,40.362789, receiver_nickyname=马新林, receiver_ip=191.101.193.148, receiver_account=15338014470, receiver_os=IOS 9.0, receiver_phone_type=华为 荣耀9X, receiver_network=4G, receiver_gps=113.101874,38.883181 , receiver_sex=女, msg_type=TEXT, distance=56.21KM, message=你是我的小磨子,我是你的犟驴子。我要天天围着你,走啊走,转啊转。把时间磨成粉末,把粉末揉成面,把面煮成面条,看着你一口一口吃下去,我心足矣!)
 INFO - message:Message(msg_time=2022-09-30 10:42:15, sender_nickyname=皮哲瀚, sender_account=13978325309, sender_sex=女, sender_ip=184.147.145.6, sender_os=Android 6.0, sender_phone_type=OPPO A11X, sender_network=5G, sender_gps=80.060328,37.195431, receiver_nickyname=焉英耀, receiver_ip=225.104.57.224, receiver_account=15338014470, receiver_os=Android 8.0, receiver_phone_type=华为 荣耀畅玩9A, receiver_network=4G, receiver_gps=125.832803,44.080661 , receiver_sex=女, msg_type=TEXT, distance=34.89KM, message=聚散两依依,聚是缘,散也是缘。聚不是开始,散就不是结束。真正的爱情是默契,是心灵的碰撞和颤栗。)
 INFO - message:Message(msg_time=2022-09-30 10:31:58, sender_nickyname=牛星海, sender_account=13978325309, sender_sex=女, sender_ip=14.199.18.140, sender_os=Android 5.1, sender_phone_type=Apple iPhone 10, sender_network=5G, sender_gps=107.95063,24.745637, receiver_nickyname=葛忆灵, receiver_ip=192.36.79.150, receiver_account=15338014470, receiver_os=Android 6, receiver_phone_type=一加 OnePlus, receiver_network=5G, receiver_gps=132.676597,46.723902 , receiver_sex=男, msg_type=TEXT, distance=15.77KM, message=给你的拥抱,有我最贴心的温度;给你的呵护,有我最温柔的眼神;给你最好的照顾,用我最实际的行动;给你的真实幸福,有我最诚挚的情谊,爱你在时时刻刻,想你在朝朝暮暮。)
 INFO - message:Message(msg_time=2022-09-30 10:33:37, sender_nickyname=允旭彬, sender_account=13978325309, sender_sex=女, sender_ip=52.171.36.98, sender_os=Android 7.0, sender_phone_type=华为 荣耀Play4T, sender_network=4G, sender_gps=84.770036,40.923356, receiver_nickyname=潮凯捷, receiver_ip=199.132.146.40, receiver_account=15338014470, receiver_os=Android 6, receiver_phone_type=华为 荣耀畅玩9A, receiver_network=4G, receiver_gps=93.747917,33.765326 , receiver_sex=女, msg_type=TEXT, distance=32.63KM, message=“痴心妄想”也好,“非分之想”也罢,反正想的就是你;“魂牵梦萦”也好,“朝思暮想”也罢,总之想的只有你。愿这“意想不到”的惊喜让你甜蜜!)
 INFO - message:Message(msg_time=2022-09-30 10:43:00, sender_nickyname=郑志, sender_account=13978325309, sender_sex=男, sender_ip=60.88.69.32, sender_os=IOS 12.0, sender_phone_type=小辣椒 红辣椒8X, sender_network=5G, sender_gps=80.060328,38.073303, receiver_nickyname=肇博超, receiver_ip=14.70.249.76, receiver_account=15338014470, receiver_os=Android 6.0, receiver_phone_type=Apple iPhone 8, receiver_network=4G, receiver_gps=104.197582,33.765326 , receiver_sex=男, msg_type=TEXT, distance=55.09KM, message=辗转反侧难入睡,我想你千百遍,我盼你快出现。想着你的黑夜想着你的白天,盼你回来的那一天。)
 INFO - message:Message(msg_time=2022-09-30 10:19:25, sender_nickyname=沐范, sender_account=13978325309, sender_sex=男, sender_ip=36.125.226.74, sender_os=Android 6, sender_phone_type=一加 OnePlus, sender_network=4G, sender_gps=84.034145,40.531458, receiver_nickyname=腾宛亦, receiver_ip=154.197.189.77, receiver_account=15338014470, receiver_os=Android 7.0, receiver_phone_type=小辣椒 红辣椒8X, receiver_network=4G, receiver_gps=102.946566,28.058634 , receiver_sex=男, msg_type=TEXT, distance=52.3KM, message=我以痴心,静待你芳心,海枯石烂我不会死心,别叫我伤心,你是我甜心,这代表我真心,希望赢得你的铁心,祝欢心,死没良心!)
 INFO - message:Message(msg_time=2022-09-30 10:35:40, sender_nickyname=烟心思, sender_account=13978325309, sender_sex=女, sender_ip=126.33.123.188, sender_os=Android 6, sender_phone_type=一加 OnePlus, sender_network=4G, sender_gps=88.817442,44.292476, receiver_nickyname=扈芳润, receiver_ip=126.6.200.58, receiver_account=15338014470, receiver_os=Android 5.1, receiver_phone_type=华为 荣耀Play4T, receiver_network=4G, receiver_gps=96.470717,38.594992 , receiver_sex=男, msg_type=TEXT, distance=77.39KM, message=我小心翼翼地把往事放在心里,唯恐时间将它淡化,让我无处寻觅,可又怕走近,惊扰你宁静的天空。)
 INFO - message:Message(msg_time=2022-09-30 10:40:59, sender_nickyname=俟谊, sender_account=13978325309, sender_sex=男, sender_ip=187.240.213.72, sender_os=Android 7.0, sender_phone_type=小辣椒 红辣椒8X, sender_network=5G, sender_gps=91.68742,42.139864, receiver_nickyname=谢景, receiver_ip=122.36.187.255, receiver_account=15338014470, receiver_os=Android 8.0, receiver_phone_type=小辣椒 红辣椒8X, receiver_network=4G, receiver_gps=91.761009,28.774328 , receiver_sex=男, msg_type=TEXT, distance=55.09KM, message=时间说再见,思念不会变,不管多遥远,我能看见你的脸,时间说再见,爱恋不会变,不管多艰难,我要望到你的眼,亲爱的,时间改变不了我们心手相依,爱你。 )
 INFO - message:Message(msg_time=2022-09-30 10:38:38, sender_nickyname=赖英达, sender_account=13978325309, sender_sex=男, sender_ip=129.100.252.59, sender_os=Android 5.1, sender_phone_type=Apple iPhone 10, sender_network=4G, sender_gps=116.707744,40.811622, receiver_nickyname=元俊风, receiver_ip=145.160.35.94, receiver_account=15338014470, receiver_os=Android 6, receiver_phone_type=华为 荣耀9X, receiver_network=4G, receiver_gps=91.908188,32.838377 , receiver_sex=女, msg_type=TEXT, distance=16.17KM, message=泥是窝的嘴矮!泥是窝的梦乡!窝忧郁地看着泥!窝要对泥说,窝矮泥!(请用升调加降调大声朗读))
 INFO - message:Message(msg_time=2022-09-30 10:15:13, sender_nickyname=令康健, sender_account=13978325309, sender_sex=男, sender_ip=220.26.70.16, sender_os=Android 6, sender_phone_type=OPPO Reno3, sender_network=4G, sender_gps=119.356954,27.666207, receiver_nickyname=生绮玉, receiver_ip=225.104.57.224, receiver_account=15338014470, receiver_os=Android 6.0, receiver_phone_type=华为 荣耀畅玩9A, receiver_network=5G, receiver_gps=116.266209,44.133687 , receiver_sex=男, msg_type=TEXT, distance=38.82KM, message=将你的名字写在手里,刻在心里;把你的容颜看在眼里,印在脑海里。不管天崩地裂,不论海枯石烂,你永远是我的唯一。老婆,我爱你!)
 INFO - message:Message(msg_time=2022-09-30 10:44:43, sender_nickyname=公翱, sender_account=13978325309, sender_sex=女, sender_ip=83.229.79.81, sender_os=Android 6, sender_phone_type=华为 荣耀畅玩9A, sender_network=5G, sender_gps=116.266209,24.206808, receiver_nickyname=葛忆灵, receiver_ip=95.237.112.44, receiver_account=15338014470, receiver_os=IOS 12.0, receiver_phone_type=华为 荣耀畅玩9A, receiver_network=5G, receiver_gps=106.258079,41.423804 , receiver_sex=男, msg_type=TEXT, distance=90.99KM, message=什么是幸福?一加一等于一。我加你等于一个家,我的快乐加上你的大度等于我们的幸福。)
 INFO - message:Message(msg_time=2022-09-30 10:36:26, sender_nickyname=抄成龙, sender_account=13978325309, sender_sex=女, sender_ip=79.58.218.15, sender_os=Android 6.0, sender_phone_type=Apple iPhone 10, sender_network=4G, sender_gps=118.105938,39.05553, receiver_nickyname=宰父俏美, receiver_ip=252.167.142.203, receiver_account=15338014470, receiver_os=IOS 9.0, receiver_phone_type=Apple iPhone XR, receiver_network=4G, receiver_gps=111.041376,36.426178 , receiver_sex=男, msg_type=TEXT, distance=59.54KM, message=新衣会慢慢变旧,人会慢慢变老。时光流逝,斗转星移,但我对你的爱将历久弥新。我们的誓言也永不更改。)
 INFO - message:Message(msg_time=2022-09-30 10:42:47, sender_nickyname=陀壤, sender_account=13978325309, sender_sex=女, sender_ip=243.242.144.137, sender_os=Android 6, sender_phone_type=小辣椒 红辣椒8X, sender_network=4G, sender_gps=88.743853,39.227457, receiver_nickyname=曲尔真, receiver_ip=147.235.68.36, receiver_account=15338014470, receiver_os=Android 6, receiver_phone_type=华为 荣耀Play4T, receiver_network=4G, receiver_gps=85.653107,33.21035 , receiver_sex=男, msg_type=TEXT, distance=40.33KM, message=亲爱的,你如那十五的月亮美丽迷人,我愿做你身边的星辰,时刻衬托你的美丽,永远守护在你的身边。宝贝,今天我很想你,希望你中秋国庆快乐。)
 INFO - message:Message(msg_time=2022-09-30 10:34:51, sender_nickyname=东星宇, sender_account=13978325309, sender_sex=男, sender_ip=246.154.115.36, sender_os=Android 5.1, sender_phone_type=华为 荣耀畅玩9A, sender_network=5G, sender_gps=123.257181,48.807394, receiver_nickyname=边高懿, receiver_ip=195.178.61.111, receiver_account=15338014470, receiver_os=Android 8.0, receiver_phone_type=VIVO U3X, receiver_network=4G, receiver_gps=116.266209,44.133687 , receiver_sex=男, msg_type=TEXT, distance=15.77KM, message=我知道你很忙,但是你一定要知道:你今天的任务是很重要的,因为你的任务是知道我在想念你。)
 INFO - message:Message(msg_time=2022-09-30 10:38:23, sender_nickyname=牛星海, sender_account=13978325309, sender_sex=男, sender_ip=126.33.123.188, sender_os=Android 8.0, sender_phone_type=华为 荣耀Play4T, sender_network=4G, sender_gps=84.770036,40.923356, receiver_nickyname=伦芝兰, receiver_ip=247.25.68.26, receiver_account=15338014470, receiver_os=Android 6, receiver_phone_type=Apple iPhone 7, receiver_network=3G, receiver_gps=93.747917,33.765326 , receiver_sex=女, msg_type=TEXT, distance=25.02KM, message=爱你,却要无欲无求,好难!爱你,却要偷偷摸摸,好累!爱你,却让自己心碎,好惨!但竟然心甘情愿,好傻!!!)
 INFO - message:Message(msg_time=2022-09-30 10:22:37, sender_nickyname=栾鹏鲸, sender_account=13978325309, sender_sex=女, sender_ip=172.131.189.216, sender_os=Android 8.0, sender_phone_type=OPPO A11X, sender_network=4G, sender_gps=99.85582,40.643666, receiver_nickyname=宰父俏美, receiver_ip=65.199.49.186, receiver_account=15338014470, receiver_os=Android 6.0, receiver_phone_type=华为 荣耀Play4T, receiver_network=4G, receiver_gps=93.747917,33.765326 , receiver_sex=男, msg_type=TEXT, distance=25.02KM, message=我想把我的思想折成最美纸飞机,用尽全身的力气掷给你,却只怕这轻风托不起我思念的沉重。 )
 INFO - message:Message(msg_time=2022-09-30 10:28:43, sender_nickyname=机和同, sender_account=13978325309, sender_sex=男, sender_ip=249.85.241.186, sender_os=Android 5.1, sender_phone_type=一加 OnePlus, sender_network=4G, sender_gps=114.132122,29.420686, receiver_nickyname=蓝清宁, receiver_ip=91.245.23.117, receiver_account=15338014470, receiver_os=Android 8.0, receiver_phone_type=Apple iPhone 12, receiver_network=4G, receiver_gps=119.356955,44.398096 , receiver_sex=女, msg_type=TEXT, distance=22.22KM, message=你的睫毛微微上翘,弹奏着美丽旋律的妙,你的嘴角微微上翘,刻画着自信可爱的笑,亲爱的,你每一个细节的魅力都是我爱追逐的目标,爱你。)
 INFO - message:Message(msg_time=2022-09-30 10:29:19, sender_nickyname=丹景龙, sender_account=13978325309, sender_sex=男, sender_ip=132.25.160.50, sender_os=Android 6.0, sender_phone_type=Apple iPhone 10, sender_network=4G, sender_gps=129.438673,44.661308, receiver_nickyname=梁丘雨琴, receiver_ip=173.17.132.238, receiver_account=15338014470, receiver_os=IOS 12.0, receiver_phone_type=小辣椒 红辣椒8X, receiver_network=4G, receiver_gps=90.80435,40.755684 , receiver_sex=男, msg_type=TEXT, distance=32.73KM, message=海天相接,我看不到你的足迹。是不是你给了我多少快乐,就要给我多少痛苦?你真的好残忍!)
 INFO - message:Message(msg_time=2022-09-30 10:23:03, sender_nickyname=宾睿聪, sender_account=13978325309, sender_sex=女, sender_ip=185.50.161.162, sender_os=IOS 10.0, sender_phone_type=华为 荣耀Play4T, sender_network=4G, sender_gps=108.392166,23.665665, receiver_nickyname=马新林, receiver_ip=214.28.197.29, receiver_account=15338014470, receiver_os=Android 7.0, receiver_phone_type=一加 OnePlus, receiver_network=5G, receiver_gps=105.669366,32.527193 , receiver_sex=女, msg_type=TEXT, distance=98.59KM, message=情话短信大全,甜言蜜语)
 INFO - message:Message(msg_time=2022-09-30 10:25:51, sender_nickyname=骆高翰, sender_account=13978325309, sender_sex=男, sender_ip=79.215.120.130, sender_os=Android 6.0, sender_phone_type=Apple iPhone XR, sender_network=4G, sender_gps=114.573657,25.549461, receiver_nickyname=车典丽, receiver_ip=58.250.218.119, receiver_account=15338014470, receiver_os=Android 7.0, receiver_phone_type=Apple iPhone 7, receiver_network=5G, receiver_gps=126.347927,46.774486 , receiver_sex=女, msg_type=TEXT, distance=98.7KM, message=左眼眨,我想你;右眼眨,我念你;左右眼都眨,我在想念你!闭左眼,我唤你;闭右眼,我呼你;左右眼都闭,我呼唤你。原来醒着梦着我都真的好想你!)
 INFO - message:Message(msg_time=2022-09-30 10:32:47, sender_nickyname=养昆颉, sender_account=13978325309, sender_sex=男, sender_ip=200.142.208.254, sender_os=Android 6.0, sender_phone_type=一加 OnePlus, sender_network=5G, sender_gps=114.058533,39.39896, receiver_nickyname=寒芝英, receiver_ip=246.23.234.180, receiver_account=15338014470, receiver_os=Android 7.0, receiver_phone_type=一加 OnePlus, receiver_network=4G, receiver_gps=96.17636,35.408525 , receiver_sex=男, msg_type=TEXT, distance=98.7KM, message=一天不见想看你两眼发直没有气三次拿起电话机四肢冰凉汗直披五脏六腑在叹气七嘴八舌怪自己久而久之有主意十点之前我等你。)
 INFO - message:Message(msg_time=2022-09-30 10:33:59, sender_nickyname=烟心思, sender_account=13978325309, sender_sex=男, sender_ip=119.151.213.250, sender_os=Android 6.0, sender_phone_type=华为 荣耀Play4T, sender_network=4G, sender_gps=107.361917,28.189123, receiver_nickyname=蹇彭泽, receiver_ip=95.237.112.44, receiver_account=15338014470, receiver_os=Android 6, receiver_phone_type=华为 荣耀畅玩9A, receiver_network=4G, receiver_gps=106.920382,24.476514 , receiver_sex=男, msg_type=TEXT, distance=12.59KM, message=城市的大雨淋湿我不了我对你暖暖的爱,陌生的街角总有我给你的温暖拥抱,前路茫茫有你陪着就好,夜晚太黑有你在就很明亮。我会一直陪在你身边的!)
 INFO - message:Message(msg_time=2022-09-30 10:40:35, sender_nickyname=卯飞羽, sender_account=13978325309, sender_sex=女, sender_ip=233.10.187.110, sender_os=Android 6, sender_phone_type=OPPO Reno3, sender_network=4G, sender_gps=84.770036,40.923356, receiver_nickyname=须运珊, receiver_ip=222.20.173.38, receiver_account=15338014470, receiver_os=Android 7.0, receiver_phone_type=Apple iPhone 8, receiver_network=5G, receiver_gps=102.725798,37.430552 , receiver_sex=男, msg_type=TEXT, distance=72.01KM, message=我曾千万次的请求:不要逼我离开你,不要让我们的海誓山盟成为痛苦的记忆,不要用你的残忍告诉我真的会输掉我仅有的赌注。)
 INFO - message:Message(msg_time=2022-09-30 10:40:37, sender_nickyname=学修贤, sender_account=13978325309, sender_sex=男, sender_ip=166.176.99.119, sender_os=Android 8.0, sender_phone_type=华为 荣耀Play4T, sender_network=5G, sender_gps=112.660338,28.384555, receiver_nickyname=寻访儿, receiver_ip=6.239.147.119, receiver_account=15338014470, receiver_os=IOS 9.0, receiver_phone_type=Apple iPhone 7, receiver_network=5G, receiver_gps=115.456728,35.408525 , receiver_sex=男, msg_type=TEXT, distance=16.91KM, message=我曾千万次的请求:不要逼我离开你,不要让我们的海誓山盟成为痛苦的记忆,不要用你的残忍告诉我真的会输掉我仅有的赌注。)
 INFO - message:Message(msg_time=2022-09-30 10:32:56, sender_nickyname=骆高翰, sender_account=13978325309, sender_sex=男, sender_ip=195.188.222.255, sender_os=Android 7.0, sender_phone_type=华为 荣耀畅玩9A, sender_network=4G, sender_gps=88.817442,44.292476, receiver_nickyname=王辞, receiver_ip=95.237.112.44, receiver_account=15338014470, receiver_os=Android 7.0, receiver_phone_type=华为 荣耀Play4T, receiver_network=5G, receiver_gps=77.779064,39.170195 , receiver_sex=女, msg_type=TEXT, distance=30.57KM, message=亲爱的,每天太阳升起的时候就是我在心里想你的开始,每天月亮升起的时候就是我在梦中想你的开始。月亮太阳让我爱你一生一世。 )
 INFO - message:Message(msg_time=2022-09-30 10:42:59, sender_nickyname=池涉, sender_account=13978325309, sender_sex=男, sender_ip=182.113.203.52, sender_os=Android 7.0, sender_phone_type=小辣椒 红辣椒8X, sender_network=5G, sender_gps=118.105938,39.05553, receiver_nickyname=时咏歌, receiver_ip=196.219.200.148, receiver_account=15338014470, receiver_os=Android 6, receiver_phone_type=VIVO U3X, receiver_network=4G, receiver_gps=116.266209,44.133687 , receiver_sex=男, msg_type=TEXT, distance=72.1KM, message=我曾千万次的请求:不要逼我离开你,不要让我们的海誓山盟成为痛苦的记忆,不要用你的残忍告诉我真的会输掉我仅有的赌注。)
 INFO - message:Message(msg_time=2022-09-30 10:37:10, sender_nickyname=抄成龙, sender_account=13978325309, sender_sex=男, sender_ip=43.227.208.47, sender_os=Android 6.0, sender_phone_type=华为 荣耀畅玩9A, sender_network=4G, sender_gps=112.439571,33.148464, receiver_nickyname=化凝丝, receiver_ip=31.124.210.197, receiver_account=15338014470, receiver_os=Android 7.0, receiver_phone_type=华为 荣耀Play4T, receiver_network=5G, receiver_gps=102.725798,37.430552 , receiver_sex=男, msg_type=TEXT, distance=40.62KM, message=爱情连接了你我,幸福时光。甜蜜了我的心房,怡情开怀。美满了我的愿望,眉开眼笑。得到了真爱的情人,天降林妹。林妹妹阿哥爱你一辈子! )
 INFO - message:Message(msg_time=2022-09-30 10:21:19, sender_nickyname=俟谊, sender_account=13978325309, sender_sex=男, sender_ip=98.67.223.179, sender_os=Android 8.0, sender_phone_type=小辣椒 红辣椒8X, sender_network=5G, sender_gps=122.742057,46.470265, receiver_nickyname=赛骊婧, receiver_ip=90.135.44.77, receiver_account=15338014470, receiver_os=IOS 9.0, receiver_phone_type=Apple iPhone 8, receiver_network=4G, receiver_gps=125.832803,44.080661 , receiver_sex=男, msg_type=TEXT, distance=49.15KM, message=你像一股春风,漾起了我心海里爱的波澜;你像沾满露珠的花瓣,给我带来了一室芳香;你像划过蓝天的哨鸽,给我带来心灵的宁静。今生,我只爱你!)
 INFO - message:Message(msg_time=2022-09-30 10:18:55, sender_nickyname=谷谨, sender_account=13978325309, sender_sex=男, sender_ip=52.183.211.198, sender_os=Android 6.0, sender_phone_type=OPPO Reno3, sender_network=5G, sender_gps=99.267106,29.806522, receiver_nickyname=茹忆辰, receiver_ip=147.235.68.36, receiver_account=15338014470, receiver_os=Android 8.0, receiver_phone_type=华为 荣耀9X, receiver_network=5G, receiver_gps=100.297355,32.900483 , receiver_sex=女, msg_type=TEXT, distance=91.14KM, message=没有你的日子,愁无限,情未尽;没有你的日子,爱不止,情不断。亲爱的老婆,爱妻日且让我托一朵皎洁浮云,许给你一世柔情,一世安然。)
 INFO - message:Message(msg_time=2022-09-30 10:40:42, sender_nickyname=赛泽雨, sender_account=13978325309, sender_sex=男, sender_ip=110.251.246.10, sender_os=Android 8.0, sender_phone_type=一加 OnePlus, sender_network=4G, sender_gps=111.335733,27.469457, receiver_nickyname=祢觅丹, receiver_ip=108.148.67.63, receiver_account=15338014470, receiver_os=Android 8.0, receiver_phone_type=华为 荣耀畅玩9A, receiver_network=5G, receiver_gps=92.717669,38.305633 , receiver_sex=女, msg_type=TEXT, distance=92.76KM, message=亲爱的,中秋都和国庆团圆了,而我们却不能团圆,我是吃着月饼想着你,赏着月亮想着你,八天假期天天想你,宝贝我要想你一辈子。中秋快乐,假期快乐。)
 INFO - message:Message(msg_time=2022-09-30 10:38:53, sender_nickyname=骆高翰, sender_account=13978325309, sender_sex=男, sender_ip=30.167.134.130, sender_os=Android 7.0, sender_phone_type=Apple iPhone 7, sender_network=5G, sender_gps=, receiver_nickyname=王辞, receiver_ip=148.128.229.191, receiver_account=15338014470, receiver_os=Android 5.1, receiver_phone_type=华为 荣耀畅玩9A, receiver_network=5G, receiver_gps=127.966889,45.236158 , receiver_sex=男, msg_type=TEXT, distance=16.01KM, message=一天不见想看你两眼发直没有气三次拿起电话机四肢冰凉汗直披五脏六腑在叹气七嘴八舌怪自己久而久之有主意十点之前我等你。)
 INFO - Close zookeeper connection 0x3ee0fea4 to server1:2118,server2:2118,server3:2118
 INFO - StopWatch '': running time (millis) = 9737
-----------------------------------------
ms     %     Task name
-----------------------------------------
09737  100%  TestApp

以上,完成了hbase的几个关键指标的设计原则说明,以及用一个示例来实际应用。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  KRe60ogUm4le   2024年05月31日   101   0   0 flink大数据
  KRe60ogUm4le   2024年05月31日   34   0   0 flink大数据
nNPyvzOmRTFq
最新推荐 更多

2024-05-31