Doris集成其他系统——ODBC外部表

2023-05-16

Doris集成其他系统——ODBC外部表


文章目录

  • Doris集成其他系统——ODBC外部表
    • 0. 写在前面
    • 1. 正文
      • 1.1 ODBC外部表介绍
      • 1.2 使用方式
    • 2. 使用 ODBC 的 MySQL 外表
      • 2.1 前置芝士
      • 2.2 安装 unixODBC
      • 2.3 安装MySQL 对应版本的 ODBC
        • 2.3.1 安装方式
        • 2.3.2 检查安装结果
        • 2.3.3 其他节点的安装及配置
        • 2.3.4 配置 unixODBC,验证通过ODBC 访问 MySQL
      • 2.4 准备一张MySQL新表
        • 2.4.1 在MySQL种建表`test_cdc`
        • 2.4.2 插入数据
        • 2.4.3 修改 Doris 的配置文件(每个 BE 节点都要,不用重启 BE)
        • 2.4.4 在Doris中 建Resource
        • 2.4.5 查询Doris 外表
      • 2.5 Doris和MySQL之间的映射案例
        • 2.5.1 MySQL数据映射到Doris
        • 2.5.2 Doris数据映射到MySQL


0. 写在前面

  • Linux版本:CentOS-7.5-x86_64-DVD-1804

  • Doris版本:Doris-1.1.5

  • MySQL版本:MySQL-5.7

1. 正文

1.1 ODBC外部表介绍

ODBC External Table Of Doris 提供了 Doris 通过数据库访问的标准接口(ODBC)来访问外部表,外部表省去了繁琐的数据导入工作,让 Doris 可以具有了访问各式数据库的能力, 并借助 Doris 本身的OLAP 的能力来解决外部表的数据分析问题:

  • 支持各种数据源接入 Doris
  • 支持Doris 与各种数据源中的表联合查询,进行更加复杂的分析操作
  • 通过 insert into 将 Doris 执行的查询结果写入外部的数据源

1.2 使用方式

1)Doris 中创建ODBC 的外表

  • 方式一:不使用 Resource 创建ODBC 的外表。
CREATE EXTERNAL TABLE `baseall_oracle` (
`k1` decimal(9, 3) NOT NULL COMMENT "",
`k2` char(10) NOT NULL COMMENT "",
`k3` datetime NOT NULL COMMENT "",
`k5` varchar(20) NOT NULL COMMENT "",
`k6` double NOT NULL COMMENT ""
) ENGINE=ODBC COMMENT "ODBC" PROPERTIES (
"host" = "192.168.0.1",
"port" = "8086",
"user" = "test", "password" = "test", "database" = "test", "table" = "baseall",
"driver" = "Oracle 19 ODBC driver", "odbc_type" = "oracle"
 );
  • 方式二:通过 ODBC_Resource 来创建ODBC 外表(更推荐使用的方式)。
CREATE EXTERNAL RESOURCE `oracle_odbc` 
PROPERTIES (
"type" = "odbc_catalog", 
"host" = "192.168.0.1",
"port" = "8086",
"user" = "test", 
"password" = "test", 
"database" = "test", 
"odbc_type" = "oracle",
"driver" = "Oracle 19 ODBC driver"
);

- 指定odbc_catalog_resource参数值
CREATE EXTERNAL TABLE `baseall_oracle` (
`k1` decimal(9, 3) NOT NULL COMMENT "",
`k2` char(10) NOT NULL COMMENT "",
`k3` datetime NOT NULL COMMENT "",
`k5` varchar(20) NOT NULL COMMENT "",
`k6` double NOT NULL COMMENT ""
) ENGINE=ODBC 
COMMENT "ODBC" 
PROPERTIES (
"odbc_catalog_resource" = "oracle_odbc", 
"database" = "test",
"table" = "baseall"
);
  • 参数说明:
参数说明
hosts外表数据库的 IP 地址
driverODBC 外表 Driver 名,需要和 ${DORIS_HOME}/be/conf/odbcinst.ini 中的 Driver 名一致。
odbc_type外表数据库的类型,当前支持 oracle, mysql, postgresql
user外表数据库的用户名
password对应用户的密码信息

2)ODBC Driver 的安装和配置

  • 各大主流数据库都会提供 ODBC 的访问 Driver,用户可以执行参照各数据库官方推荐的方式安装对应的ODBC Driver LiB 库。

  • 安装完成之后,查找对应的数据库的 Driver Lib 库的路径,并且修改 ${DORIS_HOME}/be/conf/odbcinst.ini的配置

[MySQL Driver]
Description	= ODBC for MySQL
Driver = /usr/lib64/libmyodbc8w.so
FileUsage = 1

上述配置[]里的对应的是 Driver 名,在建立外部表时需要保持外部表的 Driver 名和配置文件之中的一致。

  • Driver= 这个要根据实际 BE 安装 Driver 的路径来填写,本质上就是一个动态库的路径, 这里需要保证该动态库的前置依赖都被满足。

Note:这里要求所有的 BE 节点都安装上相同的Driver,并且安装路径相同,同时有相同的 ${DORIS_HOME}/be/conf/odbcinst.ini 的配置。

2. 使用 ODBC 的 MySQL 外表

2.1 前置芝士

  • CentOS 数据库 ODBC 版本对应关系:

​                [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9w306PZE-1675308484908)(0.jpeg)]

  • MySQL 与Doris 的数据类型匹配:

​                [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gceHWWUk-1675308484911)(01.jpeg)]

2.2 安装 unixODBC

安装必要依赖

[whybigdata@node01 doris-1.1.5]$ yum install -y unixODBC unixODBC-devel libtool-ltdl libtool-ltdl-devel

检查依赖是否安装完全

[whybigdata@node01 doris-1.1.5]$ rpm -qa | grep unixODBC
freeradius-unixODBC-3.0.13-15.el7.x86_64
unixODBC-devel-2.3.1-14.el7.x86_64
unixODBC-2.3.1-14.el7.x86_64
[whybigdata@node01 doris-1.1.5]$ rpm -qa | grep unixODBC-devel
unixODBC-devel-2.3.1-14.el7.x86_64
[whybigdata@node01 doris-1.1.5]$ rpm -qa | grep libtool-ltdl
libtool-ltdl-2.4.2-22.el7_3.x86_64
[whybigdata@node01 doris-1.1.5]$ rpm -qa | grep libtool-ltdl-devel
libtool-ltdl-devel-2.4.2-22.el7_3.x86_64

检查ODBC是否安装成功

[whybigdata@node01 doris-1.1.5]$ odbcinst -j
unixODBC 2.3.1
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/whybigdata/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

出现unixODBC版本信息以及相关文件路即代表安装成功

2.3 安装MySQL 对应版本的 ODBC

安装MySQL的ODBC依赖,请在三台节点「安装了be的节点都需要安装」都执行安装

2.3.1 安装方式

两种方式:一是直接通过wget下载,二是通过提前下载好的压缩包然后上传到node01机器上并解压tar.gz包进行安装

  • 直接下载安装
wget https://downloads.mysql.com/archives/get/p/10/file/mysql-connector-odbc-5.3.11-1.el7.x86_64.rpm
  • tar包进行安装
[whybigdata@node01 software]$ sudo yum install -y mysql-connector-odbc-5.3.11-1.el7.x86_64.rpm
已加载插件:fastestmirror
正在检查 mysql-connector-odbc-5.3.11-1.el7.x86_64.rpm: mysql-connector-odbc-5.3.11-1.el7.x86_64
mysql-connector-odbc-5.3.11-1.el7.x86_64.rpm 将被安装
正在解决依赖关系
--> 正在检查事务
---> 软件包 mysql-connector-odbc.x86_64.0.5.3.11-1.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

=========================================================================================================================
 Package                     架构          版本                   源                                                大小
=========================================================================================================================
正在安装:
 mysql-connector-odbc        x86_64        5.3.11-1.el7           /mysql-connector-odbc-5.3.11-1.el7.x86_64         13 M

事务概要
=========================================================================================================================
安装  1 软件包

总计:13 M
安装大小:13 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : mysql-connector-odbc-5.3.11-1.el7.x86_64                                                             1/1
Success: Usage count is 1
Success: Usage count is 1
  验证中      : mysql-connector-odbc-5.3.11-1.el7.x86_64                                                             1/1

已安装:
  mysql-connector-odbc.x86_64 0:5.3.11-1.el7

完毕!

2.3.2 检查安装结果

查看是否安装成功

[whybigdata@node01 software]$ myodbc-installer -d -l
ODBC Driver 17 for SQL Server
MySQL ODBC 5.3 Unicode Driver
MySQL ODBC 5.3 ANSI Driver

出现MySQL ODBC 5.3字样代表安装成功

2.3.3 其他节点的安装及配置

分发mysql-connector-odbc-5.3.11-1.el7.x86_64.rpm 到其他两台节点上

[whybigdata@node01 software]$ scp /opt/software/mysql-connector-odbc-5.3.11-1.el7.x86_64.rpm whybigdata@node02:/opt/software/
[whybigdata@node01 software]$ scp /opt/software/mysql-connector-odbc-5.3.11-1.el7.x86_64.rpm whybigdata@node03:/opt/software/
mysql-connector-odbc-5.3.11-1.el7.x86_64.rpm                                           100% 2813KB  52.4MB/s   00:00

查看是否传输成功

[whybigdata@node01 software]$ my_call.sh ls /opt/software/
=================> node01 <=================
mysql-connector-odbc-5.3.11-1.el7.x86_64.rpm
=================> node02 <=================
mysql-connector-odbc-5.3.11-1.el7.x86_64.rpm
=================> node03 <=================
mysql-connector-odbc-5.3.11-1.el7.x86_64.rpm

2.3.4 配置 unixODBC,验证通过ODBC 访问 MySQL

[whybigdata@node01 software]$ sudo vim /etc/odbc.ini
  • 添加如下内容

[mysql]
Description = Data source MySQL
Driver = MySQL ODBC 5.3 Unicode Driver
Server = node01
Host = node01
Database = test_doris
Port = 3306
User = root
Password = 123456

  • 测试连接MySQL

可以查看到对应的表

[whybigdata@node01 software]$ isql -v mysql
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> show tables;
+-----------------------------------------------------------------+
| Tables_in_test_doris                                            |
+-----------------------------------------------------------------+
| sensor                                                          |
| tbl1                                                            |
+-----------------------------------------------------------------+
SQLRowCount returns 2
2 rows fetched

MySQL中test_doris库下的表情况以及sensor表的数据

mysql> use test_doris;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql>
mysql> show tables;
+----------------------+
| Tables_in_test_doris |
+----------------------+
| sensor               |
| tbl1                 |
+----------------------+
2 rows in set (0.00 sec)
mysql>
mysql> select * from sensor;
+-----+------+------+
| id  | ts   | vc   |
+-----+------+------+
| s_2 |    3 |    3 |
| s_9 |    9 |    9 |
+-----+------+------+
2 rows in set (0.01 sec)

ODBC访问方式:表sensor数据如下图所示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ud2k81vP-1675308484912)(1.jpeg)]

综上,ODBC外部表和MySQL表集成成功

2.4 准备一张MySQL新表

2.4.1 在MySQL种建表test_cdc

mysql> CREATE TABLE `test_cdc` (
    -> `id` int NOT NULL AUTO_INCREMENT,
    -> `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)
    -> ) ENGINE=InnoDB AUTO_INCREMENT=91234 DEFAULT CHARSET=utf8mb4;
Query OK, 0 rows affected (0.01 sec)

2.4.2 插入数据

插入表test_cdc的数据SQL语句如下:

INSERT INTO `test_cdc` VALUES (123, 'this is a update'); 
INSERT INTO `test_cdc` VALUES (1212, '测试 flink CDC'); 
INSERT INTO `test_cdc` VALUES (1234, '这是测试');
INSERT INTO `test_cdc` VALUES (11233, 'zhangfeng_1'); 
INSERT INTO `test_cdc` VALUES (21233, 'zhangfeng_2'); 
INSERT INTO `test_cdc` VALUES (31233, 'zhangfeng_3'); 
INSERT INTO `test_cdc` VALUES (41233, 'zhangfeng_4'); 
INSERT INTO `test_cdc` VALUES (51233, 'zhangfeng_5'); 
INSERT INTO `test_cdc` VALUES (61233, 'zhangfeng_6'); 
INSERT INTO `test_cdc` VALUES (71233, 'zhangfeng_7'); 
INSERT INTO `test_cdc` VALUES (81233, 'zhangfeng_8'); 
INSERT INTO `test_cdc` VALUES (91233, 'zhangfeng_9');

观察ODBC中表的情况:test_cdc表同样被映射过来了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4ryHZEiu-1675308484913)(2.jpeg)]

2.4.3 修改 Doris 的配置文件(每个 BE 节点都要,不用重启 BE)

在 BE 节点的 conf/odbcinst.ini,添加我们的刚才注册的的ODBC 驱动([MySQL ODBC 5.3.11]这部分)。

在文件 odbcinst.ini 末尾新增以下内容:

# Driver from the mysql-connector-odbc package
# Setup from the unixODBC package
[MySQL ODBC 5.3.11]
Description     = ODBC for MySQL
Driver= /usr/lib64/libmyodbc5w.so
FileUsage = 1

2.4.4 在Doris中 建Resource

  • 以root身份创建
[whybigdata@node01 ~]$ mysql -h node01 -P 9030 -u root -p

通过 ODBC_Resource 来创建 ODBC 外表,这是推荐的方式,这样 resource 可以复用。

use test_db;

CREATE EXTERNAL RESOURCE `mysql_5_3_11` PROPERTIES (
"host" = "hadoop1", 
"port" = "3306",
"user" = "root", 
"password" = "000000", 
"database" = "test", 
"table" = "test_cdc",
"driver" = "MySQL ODBC 5.3.11", --名称要和上面[]里的名称一致
"odbc_type" = "mysql",
"type" = "odbc_catalog");

基于 Resource 创建Doris 外表

CREATE EXTERNAL TABLE `test_odbc_5_3_11` (
`id` int NOT NULL ,
`name` varchar(255) null
) ENGINE=ODBC 
COMMENT "ODBC" 
PROPERTIES (
"odbc_catalog_resource" = "mysql_5_3_11", 	--名称就是 resource 的名称
"database" = "test_doris", 
"table" = "test_cdc"
);

2.4.5 查询Doris 外表

select * from `test_odbc_5_3_11`;

如果出现如下错误,请尝试重启该节点(node01)的be服务「其实这个重启操作并没有起到作用」

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eJxvevX3-1675308484914)(10.jpeg)]

重启之后,如果继续报错,那大概率就是没有符合上述提到的要求:

「所有的 BE 节点都安装上相同的Driver,并且安装路径相同,同时有相同的 ${DORIS_HOME}/be/conf/odbcinst.ini 的配置。」

  • 其他be所在节点补充安装驱动mysql-connector-odbc-5.3.11-1.el7.x86_64.rpm并完成各自的文件配置,重新查询表test_odbc_5_3_11,查询成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0EQDuNm1-1675308484914)(11.jpeg)]

2.5 Doris和MySQL之间的映射案例

2.5.1 MySQL数据映射到Doris

  • 再次往MySQL的test_cdc表插入一条数据
mysql> insert into test_cdc values(99999, 'zhangdeng_19');
Query OK, 1 row affected (0.00 sec)

再次查询doris中的表,可以查询到刚刚插入到MySQL表test_cdc中的那条数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QEoKKjj9-1675308484915)(12.jpeg)]

2.5.2 Doris数据映射到MySQL

  • 往Doris表插入新数据
mysql> insert into test_odbc_5_3_11 values(88888, 'zhangdeng_19');
Query OK, 0 rows affected (0.04 sec)

结果:同样可以在MySQL中看到键为88888的这条数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4BW7nkdZ-1675308484915)(13.jpeg)]

综上所述,MySQL和Doris直接通过ODBC外部表的方式可以实现相互映射

结束!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Doris集成其他系统——ODBC外部表 的相关文章

  • 单源最短路径问题——分支限界法(Java)

    单源最短路径问题 分支限界法 xff08 Java xff09 文章目录 单源最短路径问题 分支限界法 xff08 Java xff09 1 前置芝士1 1 分支限界法求解目标1 2 分支限界法引言1 3 分支限界法基本思想1 4 两种典型
  • 符号三角形问题(Java)

    符号三角形问题 xff08 Java xff09 文章目录 符号三角形问题 xff08 Java xff09 1 前置介绍2 算法设计3 程序代码4 算法效率5 参考资料 1 前置介绍 符号三角形定义 如下图所示 xff0c 符号三角形是由
  • 装载问题 ——分支限界法(Java)

    装载问题 分支限界法 xff08 Java xff09 文章目录 装载问题 分支限界法 xff08 Java xff09 1 问题描述2 算法设计3 算法的改进4 程序代码5 参考资料 1 问题描述 有一批共n个集装箱要装上2艘载重量分别为
  • 装载问题 ——回溯法(Java)

    装载问题 回溯法 xff08 Java xff09 文章目录 装载问题 回溯法 xff08 Java xff09 1 问题描述1 1 装载问题1 2 转换问题 2 算法设计2 1 可行性约束函数2 2 上界函数2 3 解空间树2 4 剪枝函
  • 上传项目代码到Github|Gitee

    上传项目代码到Github Gitee 文章目录 上传项目代码到Github Gitee1 前置准备1 1 Git 安装1 2 在 Git 中设置用户名1 2 1 为计算机上的每个存储库设置 Git 用户名1 2 2 为一个仓库设置 Git
  • NoSQL数据库原理与应用综合项目——HBase篇

    NoSQL数据库原理与应用综合项目 HBase篇 文章目录 NoSQL数据库原理与应用综合项目 HBase篇 0 写在前面 1 本地数据或HDFS数据导入到HBase 2 Hbase数据库表操作 2 1 Java API 连接HBase 2
  • NoSQL数据库原理与应用综合项目——MongoDB篇

    NoSQL数据库原理与应用综合项目 MongoDB篇 文章目录 NoSQL数据库原理与应用综合项目 MongoDB篇 0 写在前面 1 本地数据或HDFS数据导入到MongoDB 2 MongoDB数据库表操作 2 1 Java API 连
  • NoSQL数据库原理与应用综合项目——Redis篇

    NoSQL数据库原理与应用综合项目 Redis篇 文章目录 NoSQL数据库原理与应用综合项目 Redis篇 0 写在前面 1 本地数据或HDFS数据导入到Redis 2 Redis数据库表操作 2 1 Java API 连接Redis 2
  • NoSQL数据库原理与应用综合项目——Neo4j篇

    NoSQL数据库原理与应用综合项目 Neo4j篇 文章目录 NoSQL数据库原理与应用综合项目 Neo4j篇 0 写在前面 1 本地数据或HDFS数据导入到Neo4j 2 Neo4j数据库表操作 2 1 使用Python连接Neo4j 2
  • Hadoop综合项目——二手房统计分析(起始篇)

    Hadoop综合项目 二手房统计分析 起始篇 文章目录 Hadoop综合项目 二手房统计分析 起始篇 0 写在前面 1 项目背景与功能 1 1 项目背景 1 2 项目功能 2 数据集和数据预处理 2 1 数据集 2 2 数据预处理 2 2
  • android -- 蓝牙 bluetooth (四)OPP文件传输

    在前面android 蓝牙 bluetooth xff08 一 xff09 入门文章结尾中提到了会按四个方面来写这系列的文章 xff0c 前面已写了蓝牙打开和蓝牙搜索 xff0c 这次一起来看下蓝牙文件分享的流程 xff0c 也就是蓝牙应用
  • Hadoop综合项目——二手房统计分析(MapReduce篇)

    Hadoop综合项目 二手房统计分析 MapReduce篇 文章目录 Hadoop综合项目 二手房统计分析 MapReduce篇 0 写在前面 1 MapReduce统计分析 1 1 统计四大一线城市房价的最值 1 2 按照城市分区统计二手
  • Hadoop综合项目——二手房统计分析(Hive篇)

    Hadoop综合项目 二手房统计分析 Hive篇 文章目录 Hadoop综合项目 二手房统计分析 Hive篇 0 写在前面 1 Hive统计分析 1 1 本地数据 HDFS数据导入到Hive 1 2 楼龄超过20年的二手房比例 1 3 四大
  • Hadoop综合项目——二手房统计分析(可视化篇)

    Hadoop综合项目 二手房统计分析 可视化篇 文章目录 Hadoop综合项目 二手房统计分析 可视化篇 0 写在前面 1 数据可视化 1 1 二手房四大一线城市总价Top5 1 2 统计各个楼龄段的二手房比例 1 3 统计各个城市二手房标
  • Git Bash Here和RStudio软件的问题解决

    Git Bash Here和RStudio软件的问题解决 文章目录 Git Bash Here和RStudio软件的问题解决0 写在前面1 Git软件在任务栏图标空白2 RStudio软件2 1 警告信息InormalizePath pat
  • 算法的复杂性分析

    算法的复杂性分析 文章目录 算法的复杂性分析0 算法评价的基本原则1 影响程序运行时间的因素2 算法复杂度2 1 算法的时间复杂度2 2 渐进表示法2 2 1 运行时间的上界2 2 运行时间的下界2 2 3 运行时间的准确界 3 总结4 参
  • 整数划分问题(Java递归)

    整数划分问题 xff08 Java递归 xff09 文章目录 整数划分问题 xff08 Java递归 xff09 0 问题描述1 递归式2 代码3 参考 0 问题描述 整数划分问题 将正整数n表示成一系列正整数之和 xff1a n 61 n
  • 快速排序(Java分治法)

    快速排序 xff08 Java分治法 xff09 文章目录 快速排序 xff08 Java分治法 xff09 0 分治策略1 思路步骤2 代码3 复杂度分析3 1 最好情况3 2 最坏情况3 3 平均情况3 4 性能影响因素 4 合并排序V
  • 动态规划算法

    动态规划算法 文章目录 动态规划算法0 动态规划的思想方法1 动态规划法的设计思想2 动态规划基本步骤3 动态规划算法设计步骤3 1 动态规划算法的基本要素 4 两种实现的比较5 备忘录方法6 备忘录方法与动态规划比较7 参考 0 动态规划
  • 最长公共子序列(LCS)

    最长公共子序列 xff08 LCS xff09 文章目录 最长公共子序列 xff08 LCS xff09 0 写在前面1 问题描述2 最长公共子序列的结构3 子问题的递归结构4 计算最优值5 算法的改进6 参考 0 写在前面 本文文字大都来

随机推荐

  • 贪心算法(Java)

    贪心算法 文章目录 贪心算法0 写在前面1 贪心算法的基本要素1 1 贪心选择性质1 2 最优子结构性质1 3 贪心算法与动态规划算法的差异 2 贪心算法的特点3 贪心法的正确性证明4 活动安排问题4 1 问题描述4 2 贪心法的设计思想4
  • android -- 蓝牙 bluetooth (五)接电话与听音乐

    前段时间似乎所有的事情都赶在一起 xff0c 回家 集体出游 出差 xff0c 折腾了近一个月 xff0c 终于算暂时清静了 xff0c 但清静只是暂时 xff0c 估计马上又要出差了 xff0c 所以赶紧把蓝牙这一部分的文章了结下 xff
  • 保研/考研复试-数据结构

    数据结构 1 时间复杂度 xff1a 是一个描述算法性能的函数 xff0c 可以定性的描述算法的运行时间 是评价算法优劣的重要指标 2 快速找到第K个数 1 xff09 可以使用快排的思想 xff0c 因为快排每次可以找到一个第i位置的数
  • Github高效搜索方式

    Github高效搜索方式 文章目录 Github高效搜索方式0 写在前面1 常用的搜索功能1 1 直接搜索1 2 寻找指定用户 大小的仓库1 3 搜索仓库1 4 查找特定star范围的仓库1 5 查找指定主题1 6 查找仓库语言1 7 搜索
  • 电子游戏销售之缺失值检测与处理

    电子游戏销售之缺失值检测与处理 文章目录 电子游戏销售之缺失值检测与处理 0 写在前面 1 数据缺失值预处理 1 1 表的形状 1 2 原始数据每个特征缺失和非缺失的数目 1 3 每个特征缺失的率 1 4 处理后各特征缺失值的数目 1 5
  • 电子游戏销售之回归模型与数据可视化

    电子游戏销售之回归模型与数据可视化 文章目录 电子游戏销售之回归模型与数据可视化0 写在前面1 回归模型1 1 模型建立准备1 2 建立模型1 3 模型分析 2 数据可视化3 参考资料 0 写在前面 该篇文章的任务包括以下3个方面 检测与处
  • 基于R的Bilibili视频数据建模及分析——预处理篇

    基于R的Bilibili视频数据建模及分析 预处理篇 文章目录 基于R的Bilibili视频数据建模及分析 预处理篇0 写在前面1 项目介绍1 1 项目背景1 2 数据来源1 3 数据集展示 2 数据预处理2 1 删除空数据2 2 增加id
  • 基于R的Bilibili视频数据建模及分析——变量相关性分析篇

    基于R的Bilibili视频数据建模及分析 变量相关性分析篇 文章目录 基于R的Bilibili视频数据建模及分析 变量相关性分析篇 0 写在前面 1 数据分析 1 1 变量相关性分析 1 2 单元数据直观展示 1 3 多元数据直观展示 2
  • 基于R的Bilibili视频数据建模及分析——聚类分析篇

    基于R的Bilibili视频数据建模及分析 聚类分析篇 文章目录 基于R的Bilibili视频数据建模及分析 聚类分析篇 0 写在前面 1 数据分析 1 1 聚类分析 1 2 聚类统计 1 3 系统聚类 1 4 Kmeans与主成分分析 2
  • 基于R的Bilibili视频数据建模及分析——建模-因子分析篇

    基于R的Bilibili视频数据建模及分析 建模 因子分析篇 文章目录 基于R的Bilibili视频数据建模及分析 建模 因子分析篇 0 写在前面 1 数据分析 1 1 建模 因子分析 1 2 对数线性模型 1 3 主成分分析 1 4 因子
  • 大数据技术之Maxwell基础知识

    大数据技术之Maxwell基础知识 文章目录 大数据技术之Maxwell基础知识0 写在前面1 Maxwell 概述1 1 Maxwell 定义1 2 Maxwell 工作原理1 2 1 MySQL 主从复制过程1 2 2 Maxwell
  • 大数据技术之Maxwell入门案例学习

    大数据技术之Maxwell入门案例学习 文章目录 大数据技术之Maxwell入门案例学习1 写在前面2 Maxwell 使用2 1 Maxwell 安装部署2 2 Maxwell 入门案例2 2 1 监控 Mysql 数据并在控制台打印2
  • Canal实时监控案例

    Canal实时监控案例 文章目录 Canal实时监控案例0 写在前面1 TCP 模式测试1 1 IDEA创建项目canal module 1 2 通用监视类 CanalClient1 2 1 Canal 封装的数据结构1 2 2 在 can
  • unity笔记--Transform.SetSibling

    transform SetAsLastSibling 将变换移动到本地变换列表的末尾 即设置为同级索引中的最后一项 transform SetAsFirstSibling 将变换移动到本地变换列表的开头 即设置为同级索引中的第一项 tran
  • 大数据技术之Canal入门篇

    大数据技术之Canal入门篇 文章目录 大数据技术之Canal入门篇写在前面第 1 章 Canal 入门1 1 什么是 Canal1 2 MySQL 的Binlog1 2 1 什么是 Binlog1 2 2 Binlog 的分类 1 3 C
  • Doris集成Spark读写的简单示例

    Doris集成Spark读写的简单示例 文章目录 Doris集成Spark读写的简单示例0 写在前面1 Spark Doris Connector介绍2 基本示例2 1 提前准备表和数据2 2 新建项目2 3 使用SQL方式进行读写2 3
  • Linux用户与用户组介绍

    Linux用户与用户组介绍 文章目录 Linux用户与用户组介绍0 写在前面1 group1 1 什么是组 xff1f 1 2 groupadd1 2 groupmod1 3 groupdel1 4 gpasswd1 5 相关文件说明 2
  • Linux安装Oracle数据库

    Linux安装Oracle数据库 文章目录 Linux安装Oracle数据库0 写在前面1 Oracle 数据库1 1 简介1 2 Oracle 与 MySQL 的SQL 区别 2 前置准备2 1 安装依赖包2 2 配置用户组2 3 上传安
  • DataX与DB2导入导出案例

    DataX与DB2导入导出案例 文章目录 DataX与DB2导入导出案例0 写在前面1 DB2介绍2 DB2数据库对象关系3 安装前的准备3 1 安装依赖3 2 修改配置文件 sysctl conf3 3 修改配置文件 limits con
  • Doris集成其他系统——ODBC外部表

    Doris集成其他系统 ODBC外部表 文章目录 Doris集成其他系统 ODBC外部表0 写在前面1 正文1 1 ODBC外部表介绍1 2 使用方式 2 使用 ODBC 的 MySQL 外表2 1 前置芝士2 2 安装 unixODBC2