DataX与DB2导入导出案例

2023-05-16

DataX与DB2导入导出案例


文章目录

  • DataX与DB2导入导出案例
    • 0. 写在前面
    • 1. DB2介绍
    • 2. DB2数据库对象关系
    • 3. 安装前的准备
      • 3.1 安装依赖
      • 3.2 修改配置文件 sysctl.conf
      • 3.3 修改配置文件 limits.conf
    • 4. 安装
      • 4.1 预检查
      • 4.2 添加组和用户
      • 4.3 创建实例
      • 4.4 创建实例库、开启服务
      • 4.5 连接
    • 5. DataX与DB2导入导入案例
      • 5.1 注册 db2 驱动
      • 5.2 读取 DB2 的数据导入到 HDFS
      • 5.3 读取 DB2 的数据导入 MySQL


0. 写在前面

  • Linux版本:CentOS-7.5-x86_64-DVD-1804
  • DB2版本:LINUXX8664 11.5.4.0(node02机器)
  • DataX版本:
  • Python版本:Python 2.7.5
  • DataX模式:单机版(node01机器)
  • 关闭防火墙
  • 关闭SELinux
  • 配置本地yum源

1. DB2介绍

DB2 是 IBM 公司于 1983 年研制的一种关系型数据库系统(Relational Database Management System),主要应用于大型应用系统,具有较好的可伸缩性 。DB2 是 IBM 推出 的第二个关系型数据库,所以称为 db2。DB2 提供了高层次的数据利用性、完整性、安全性 、并行性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL 命令运行环境。可以同时在不同操作系统使用,包括Linux、UNIX 和 Windows。

2. DB2数据库对象关系

  • instance, 同一台机器上可以安装多个DB2 instance。

  • database, 同一个 instance 下面可以创建有多个 database。

  • schema, 同一个database 下面可以配置多个schema。

  • table,同一个 schema 下可以创建多个table。

3. 安装前的准备

3.1 安装依赖

sudo yum install -y bc binutils compat-libcap1 compat-libstdc++33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++- devel libxcb make smartmontools sysstat kmod* gcc-c++ compat-libstdc++-33 libstdc++.so.6 kernel-devel pam-devel.i686 pam.i686 pam32*	

3.2 修改配置文件 sysctl.conf

[root@node02 module]# vim /etc/sysctl.conf

删除里面的内容,再添加如下内容:

net.ipv4.ip_local_port_range = 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128 
net.core.rmem_default=262144 
net.core.wmem_default=262144 
net.core.rmem_max=4194304 
net.core.wmem_max=1048576 
fs.aio-max-nr = 1048576

3.3 修改配置文件 limits.conf

[root@node02 module]# vim /etc/security/limits.conf

在文件末尾添加:

*	soft nproc 65536
*	hard nproc 65536
*	soft nofile 65536
*	hard nofile 65536

Note:重启node02生效

4. 安装

4.1 预检查

  • 执行以下命令,开始预检查
[root@node02 server_dec]# ./db2prereqcheck -l -s
需求与 Db2 数据库 "Server"  不匹配。版本:"11.5.4.0"。 当前系统上未满足的先决条件的摘要:    DBT3514W  db2prereqcheck 实用程序未能找到以下 32 位库文件:"/lib/libpam.so*"。


需求与 Db2 数据库 "Server" 带 pureScale 功能部件  不匹配。版本:"11.5.4.0"。 当前系统上未满足的先决条件的摘要: DBT3613E  db2prereqcheck 实用程序无法验证对应 TSA 的先决条件。请确保您的机器满足所有 TSA 安装先决条件。

DBT3507E  db2prereqcheck 实用程序未能找到以下程序包或文件:"kernel-source"

出现Error:缺少「 32 位库文件:"/lib/libpam.so*"」

  • 关于这个Error,请检查和pam相关的依赖是否安装成功
[root@node02 server_dec]# rpm -qa | grep pam
pam-1.1.8-22.el7.x86_64
[root@node02 server_dec]# rpm -qa | grep pam-devel

没有pam-devel,重新安装依赖

[root@node02 server_dec]# yum install -y pam-devel.i686
  • 再次预检查
[root@node02 server_dec]# ./db2prereqcheck -l -s
DBT3533I  db2prereqcheck 实用程序已确认所有安装先决条件均已满足。 需求与 Db2 数据库 "Server" 带 pureScale 功能部件  不匹配。版本:"11.5.4.0"。 当前系统上未满足的先决条件的摘要: DBT3613E  db2prereqcheck 实用程序无法验证对应 TSA 的先决条件。请确保您的机器满足所有 TSA 安装先决条件。

DBT3507E  db2prereqcheck 实用程序未能找到以下程序包或文件:"kernel-source"

除了本次命令执行结果中的那两个依赖「DBT3533I、DBT3507E」没安装不会影响到DB2使用之外,如果有其他依赖包未安装成功,则这些依赖都需要先安装。

4.2 添加组和用户

新增用户组db2inst1和db2fenc1、新增用户db2iadm1、db2iadm1,并将新增的两个用户添加到对应的新增的组中,最后为两个新用户设置密码

[root@node02 server_dec]# groupadd -g 2000 db2iadm1
[root@node02 server_dec]# groupadd -g 2001 db2fadm1
[root@node02 server_dec]# useradd -m -g db2iadm1 -d /home/db2inst1 db2inst1
[root@node02 server_dec]# useradd -m -g db2iadm1 -d /home/db2fenc1 db2fenc1
[root@node02 server_dec]# passwd db2inst1
更改用户 db2inst1 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@node02 server_dec]# passwd db2fenc1
更改用户 db2fenc1 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
  • db2inst1: 实例所有者

  • db2fenc1: 受防护用户

4.3 创建实例

  • db2的服务端口默认是50000
  • 进入db2安装目录下的instance目录
  • 执行db2icrt命令创建实例
  • 看到The execution completed successfully.代表实例创建成功
[root@node02 ~]# cd /opt/ibm/db2/V11.5/instance
[root@node02 instance]# ./db2icrt -p 50000 -u db2fenc1 db2inst1
DBI1446I  The db2icrt command is running.


DB2 installation is being initialized.

 Total number of tasks to be performed: 4
Total estimated time for all tasks to be performed: 309 second(s)

Task #1 start
Description: Setting default global profile registry variables
Estimated time 1 second(s)
Task #1 end

Task #2 start
Description: Initializing instance list
Estimated time 5 second(s)
Task #2 end

Task #3 start
Description: Configuring DB2 instances
Estimated time 300 second(s)
Task #3 end

Task #4 start
Description: Updating global profile registry
Estimated time 3 second(s)
Task #4 end

The execution completed successfully.

For more information see the DB2 installation log at "/tmp/db2icrt.log.55121".
DBI1070I  Program db2icrt completed successfully.

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

4.4 创建实例库、开启服务

创建实例库

  • 切换到db2inst1用户
  • 进入db2安装目录下的instance目录
  • 执行db2sampl命令创建实例库
[root@node02 instance]# su - db2inst1
上一次登录:六 1月 14 17:07:30 CST 2023pts/0 上
[db2inst1@node02 ~]$ cd /opt/ibm/db2/V11.5/instance/
[db2inst1@node02 instance]$ db2sampl

Note:db2sampl命令会自动创建一个名为sample的数据库实例,如下图所示:

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

如上图所示.代表实例库创建成功

  • 启动服务

db2start命令用于启动db2服务

[db2inst1@node02 instance]$ db2start
01/14/2023 17:16:08     0   0   SQL1063N  DB2START processing was successful.
SQL1063N  DB2START processing was successful.

4.5 连接

  • 进入交互式环境
[db2inst1@node02 instance]$ db2
(c) Copyright IBM Corporation 1993,2007
Command Line Processor for DB2 Client 11.5.4.0

You can issue database manager commands and SQL statements from the command
prompt. For example:
    db2 => connect to sample
    db2 => bind sample.bnd

For general help, type: ?.
For command help, type: ? command, where command can be
the first few keywords of a database manager command. For example:
 ? CATALOG DATABASE for help on the CATALOG DATABASE command
 ? CATALOG          for help on all of the CATALOG commands.

To exit db2 interactive mode, type QUIT at the command prompt. Outside
interactive mode, all commands must be prefixed with 'db2'.
To list the current command option settings, type LIST COMMAND OPTIONS.

For more detailed help, refer to the Online Reference Manual.

db2 =>
  • 连接数据库实例
db2 => connect to sample

   Database Connection Information

 Database server        = DB2/LINUXX8664 11.5.4.0
 SQL authorization ID   = DB2INST1
 Local database alias   = SAMPLE
 
  • 查看样例库sample下的所有表

Note:sql语句后不要加分号

db2 => list tables

Table/View                      Schema          Type  Creation time
------------------------------- --------------- ----- --------------------------
ACT                             DB2INST1        T     2023-01-14-17.14.29.830759
ADEFUSR                         DB2INST1        S     2023-01-14-17.14.31.218932
CATALOG                         DB2INST1        T     2023-01-14-17.14.33.002045
CL_SCHED                        DB2INST1        T     2023-01-14-17.14.29.299734
CUSTOMER                        DB2INST1        T     2023-01-14-17.14.32.839163
DEPARTMENT                      DB2INST1        T     2023-01-14-17.14.29.340559
DEPT                            DB2INST1        A     2023-01-14-17.14.29.422197
EMP                             DB2INST1        A     2023-01-14-17.14.29.487346
EMPACT                          DB2INST1        A     2023-01-14-17.14.29.829392
EMPLOYEE                        DB2INST1        T     2023-01-14-17.14.29.423121
EMPMDC                          DB2INST1        T     2023-01-14-17.14.31.348910
EMPPROJACT                      DB2INST1        T     2023-01-14-17.14.29.801185
EMP_ACT                         DB2INST1        A     2023-01-14-17.14.29.830162
EMP_PHOTO                       DB2INST1        T     2023-01-14-17.14.29.488199
EMP_RESUME                      DB2INST1        T     2023-01-14-17.14.29.577152
INVENTORY                       DB2INST1        T     2023-01-14-17.14.32.792380
IN_TRAY                         DB2INST1        T     2023-01-14-17.14.29.888552
ORG                             DB2INST1        T     2023-01-14-17.14.29.914447
PRODUCT                         DB2INST1        T     2023-01-14-17.14.32.707200
PRODUCTSUPPLIER                 DB2INST1        T     2023-01-14-17.14.33.135046
PROJ                            DB2INST1        A     2023-01-14-17.14.29.744731
PROJACT                         DB2INST1        T     2023-01-14-17.14.29.746236
PROJECT                         DB2INST1        T     2023-01-14-17.14.29.670584
PURCHASEORDER                   DB2INST1        T     2023-01-14-17.14.32.919101
SALES                           DB2INST1        T     2023-01-14-17.14.29.959681
STAFF                           DB2INST1        T     2023-01-14-17.14.29.936877
STAFFG                          DB2INST1        T     2023-01-14-17.14.31.033939
STUDENT                         DB2INST1        T     2023-01-14-17.19.57.468544
SUPPLIERS                       DB2INST1        T     2023-01-14-17.14.33.069115
VACT                            DB2INST1        V     2023-01-14-17.14.29.999212
VASTRDE1                        DB2INST1        V     2023-01-14-17.14.30.013130
VASTRDE2                        DB2INST1        V     2023-01-14-17.14.30.016328
VDEPMG1                         DB2INST1        V     2023-01-14-17.14.30.006266
VDEPT                           DB2INST1        V     2023-01-14-17.14.29.983567
VEMP                            DB2INST1        V     2023-01-14-17.14.29.992888
VEMPDPT1                        DB2INST1        V     2023-01-14-17.14.30.009309
VEMPLP                          DB2INST1        V     2023-01-14-17.14.30.046463
VEMPPROJACT                     DB2INST1        V     2023-01-14-17.14.30.004078
VFORPLA                         DB2INST1        V     2023-01-14-17.14.30.032327
VHDEPT                          DB2INST1        V     2023-01-14-17.14.29.990353
VPHONE                          DB2INST1        V     2023-01-14-17.14.30.041997
VPROJ                           DB2INST1        V     2023-01-14-17.14.29.996689
VPROJACT                        DB2INST1        V     2023-01-14-17.14.30.001257
VPROJRE1                        DB2INST1        V     2023-01-14-17.14.30.018638
VPSTRDE1                        DB2INST1        V     2023-01-14-17.14.30.023670
VPSTRDE2                        DB2INST1        V     2023-01-14-17.14.30.028481
VSTAFAC1                        DB2INST1        V     2023-01-14-17.14.30.035293
VSTAFAC2                        DB2INST1        V     2023-01-14-17.14.30.038206

  48 record(s) selected.
  • sql语句加分号出错(不论大小写,都不要加分号)
db2 => list tables;
SQL0104N  An unexpected token "tables;" was found following "LIST".  Expected
tokens may include:  "ACTIVE".  SQLSTATE=42601
  • 查询样例库sample下表staff的数据
db2 => select * from staff limit 2;

ID     NAME      DEPT   JOB   YEARS  SALARY    COMM
------ --------- ------ ----- ------ --------- ---------
    10 Sanders       20 Mgr        7  98357.50         -
    20 Pernal        20 Sales      8  78171.25    612.45

  2 record(s) selected.
  • 创建表、插入数据
db2 => CREATE TABLE STUDENT(ID int ,NAME varchar(20));
DB20000I  The SQL command completed successfully.
db2 => INSERT INTO STUDENT VALUES(11, 'lisi');
DB20000I  The SQL command completed successfully.
db2 => commit;
DB20000I  The SQL command completed successfully.

表STUDENT数据

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

5. DataX与DB2导入导入案例

DataX官网并没有DB2专门的读写教程,但是有通用RDBMS(支持所有关系型数据库)的读写教程,而DB2就属于通用RDBMS,如下图所示:

在这里插入图片描述

官网关系型数据库读写链接地址如下:

https://github.com/alibaba/DataX/blob/master/rdbmsreader/doc/rdbmsreader.md
https://github.com/alibaba/DataX/blob/master/rdbmswriter/doc/rdbmswriter.md

DB2的SAMPLE数据库实例下的STUDENT表数据

在这里插入图片描述

5.1 注册 db2 驱动

DataX 暂时没有独立插件支持 db2,需要使用通用的 rdbmsreader 或 rdbmswriter。

rdbmswriter如何增加新的数据库支持:

  • 进入rdbmsreader对应目录,这里 D A T A X H O M E 为 D a t a X 主 目 录 , 即 : ‘ {DATAX_HOME}为DataX主目录,即:` DATAXHOMEDataX:{DATAX_HOME}/plugin/reader/rdbmsreader`
  • 在rdbmsreader插件目录下有plugin.json配置文件,在此文件中注册您具体的数据库驱动,具体放在drivers数组中。rdbmsreader插件在任务执行时会动态选择合适的数据库驱动连接数据库。
  • 注册 reader 的 db2 驱动
[whybigdata@node01 datax]$ vim /opt/module/datax/plugin/reader/rdbmsreader/plugin.json 
#在 drivers 里添加 db2 的驱动类com.ibm.db2.jcc.DB2Driver
"drivers":["dm.jdbc.driver.DmDriver", "com.sybase.jdbc3.jdbc.SybDriver", "com.edb.Driver","com.ibm.db2.jcc.DB2Driver"]
  • 注册 writer 的 db2 驱动
[whybigdata@node01 datax]$ vim /opt/module/datax/plugin/writer/rdbmswriter/plugin.json 
#在 drivers 里添加 db2 的驱动类com.ibm.db2.jcc.DB2Driver
"drivers":["dm.jdbc.driver.DmDriver", "com.sybase.jdbc3.jdbc.SybDriver", "com.edb.Driver","com.ibm.db2.jcc.DB2Driver"]
  • 在DataX中db2相关依赖包(本人使用的版本中db2jcc4.jar是2017年1月14日的)
[whybigdata@node01 libs]$ pwd
/opt/module/datax/plugin/reader/rdbmsreader/libs
[whybigdata@node01 libs]$ ll | grep db2
-rwxr-xr-x 1 whybigdata whybigdata 3528544 1月  14 19:28 db2jcc4.jar

[whybigdata@node01 libs]$ pwd
/opt/module/datax/plugin/writer/rdbmswriter/libs
[whybigdata@node01 libs]$ ll | grep db2
-rwxr-xr-x 1 whybigdata whybigdata 3528544 1月  14 19:37 db2jcc4.jar

Note:如若下方案例从DB2导出不成功,在DB2连接正常且json文件无误的情况下,请更换更新的db2jcc4.jar

5.2 读取 DB2 的数据导入到 HDFS

编写配置文件:进入DataX按照目录

[whybigdata@node01 datax]$ vim job/db2-2-hdfs.json
  • 文件内容如下
{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "rdbmsreader",
                    "parameter": {
                        "column": [
                            "ID",
                            "NAME"
                        ],
                        "connection": [
                            {
                                "jdbcUrl": [
                                    "jdbc:db2://node02:50000/SAMPLE"
                                ],
                                "table": [
                                    "STUDENT"
                                ]
                            }
                        ],
                        "username": "db2inst1",
                        "password": "123456"
                    }
                },
                "writer": {
                    "name": "hdfswriter",
                    "parameter": {
                        "column": [
                            {
                                "name": "id",
                                "type": "int"
                            },
                            {
                                "name": "name",
                                "type": "string"
                            }
                        ],
                        "defaultFS": "hdfs://node01:8020",
                        "fieldDelimiter": "-",
                        "fileName": "db2.txt",
                        "fileType": "text",
                        "path": "/datax-out",
                        "writeMode": "append"
                    }
                }
            }
        ],
        "setting": {
            "speed": {
                "channel": "1"
            }
        }
    }
}

执行

[whybigdata@node01 datax]$ bin/datax.py job/db2-2-hdfs.json

最终结果:

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

5.3 读取 DB2 的数据导入 MySQL

编写配置文件:进入DataX按照目录

[whybigdata@node01 datax]$ vim job/db2-2-mysql.json
  • 文件内容如下
{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "rdbmsreader",
                    "parameter": {                        
                        "column": [
                            "ID",
                            "NAME"
                        ],
                        "connection": [
                            {                                
                                "jdbcUrl": [
                                    "jdbc:db2://node02:50000/SAMPLE"
                                ],
								"table": [
                                    "STUDENT"
                                ]
                            }
                        ],
						"username": "db2inst1",
                        "password": "123456"
                    }
                },
                "writer": {
					"name": "mysqlwriter",
					"parameter": {
						"column": ["*"], 
						"connection": [
							{
								"jdbcUrl": "jdbc:mysql://node01:3306/datax", 
								"table": ["student"]
							}
						],
						"password": "123456", 
						"username": "root", 
						"writeMode": "insert"
					}
				}
            }
        ],
        "setting": {
            "speed": {
                "channel": "1"
            }
        }
    }
}

执行

[whybigdata@node01 datax]$ bin/datax.py job/db2-2-mysql.json

最终结果:

  • 导入MySQL前:

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

  • 导入MySQL后:

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

结束!

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

DataX与DB2导入导出案例 的相关文章

  • android -- 蓝牙 bluetooth (三)搜索蓝牙

    接上篇打开蓝牙继续 xff0c 来一起看下蓝牙搜索的流程 xff0c 触发蓝牙搜索的条件形式上有两种 xff0c 一是在蓝牙设置界面开启蓝牙会直接开始搜索 xff0c 另一个是先打开蓝牙开关在进入蓝牙设置界面也会触发搜索 xff0c 也可能
  • 单源最短路径问题——分支限界法(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