【数据库开发】DataX开发环境的安装部署(Python、Java)

文章目录

  • 1、简介
    • 1.1 DataX简介
    • 1.2 DataX功能
    • 1.3 支持的数据通道
  • 2、DataX安装配置
    • 2.1 DataX
    • 2.2 Java
    • 2.3 Python
  • 3、DataX Web安装配置
    • 3.1 mysql
    • 3.2 DataX Web
      • 3.2.1 简介
      • 3.2.2 架构图
      • 3.2.3 依赖环境
      • 3.2.4 安装
  • 4、入门使用
    • 4.1 DataX自带打印示例测试
    • 4.2 DataX生成任务模板文件
    • 4.3 DataX-Web创建任务
  • 5、FAQ
    • 5.1 DataX-Web连接不上MySQL
    • 5.2 在有总bps限速条件下,单个channel的bps值不能为空,也不能为非正数?
    • 5.3 触发任务报错Cannot run program "python": error=2, No such file or directory
    • 5.4 基于代码重新打包DataX
  • 结语

1、简介

DataX是阿里云DataWorks数据集成的开源版本。下载即可用,支持linux和windows,只需要短短几步骤就可以完成数据的传输。

官网地址:
https://github.com/alibaba/DataX

在这里插入图片描述

1.1 DataX简介

DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS, databend 等各种异构数据源之间高效的数据同步功能。
在这里插入图片描述

1.2 DataX功能

DataX本身作为数据同步框架,将不同数据源的同步抽象为从源头数据源读取数据的Reader插件,以及向目标端写入数据的Writer插件,理论上DataX框架可以支持任意数据源类型的数据同步工作。同时DataX插件体系作为一套生态系统, 每接入一套新数据源该新加入的数据源即可实现和现有的数据源互通。
在这里插入图片描述
DataX本身作为离线数据同步框架,采用Framework + plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,纳入到整个同步框架中。

  • Reader:Reader为数据采集模块,负责采集数据源的数据,将数据发送给Framework。
  • Writer: Writer为数据写入模块,负责不断向Framework取数据,并将数据写入到目的端。
  • Framework:Framework用于连接reader和writer,作为两者的数据传输通道,并处理缓冲,流控,并发,数据转换等核心技术问题。

1.3 支持的数据通道

DataX目前支持数据如下:

类型数据源Reader(读)Writer(写)文档
RDBMS 关系型数据库MySQL读 、写
Oracle读 、写
OceanBase读 、写
SQLServer读 、写
PostgreSQL读 、写
DRDS读 、写
Kingbase读 、写
通用RDBMS(支持所有关系型数据库)读 、写
阿里云数仓数据存储ODPS读 、写
ADB
ADS
OSS读 、写
OCS
Hologres
AnalyticDB For PostgreSQL
阿里云中间件datahub读 、写
SLS读 、写
图数据库阿里云 GDB读 、写
Neo4j
NoSQL数据存储OTS读 、写
Hbase0.94读 、写
Hbase1.1读 、写
Phoenix4.x读 、写
Phoenix5.x读 、写
MongoDB读 、写
Cassandra读 、写
数仓数据存储StarRocks读 、写
ApacheDoris
ClickHouse读 、写
Databend
Hive读 、写
kudu
selectdb
无结构化数据存储TxtFile读 、写
FTP读 、写
HDFS读 、写
Elasticsearch
时间序列数据库OpenTSDB
TSDB读 、写
TDengine读 、写

2、DataX安装配置

https://github.com/alibaba/DataX/blob/master/userGuid.md

2.1 DataX

  • 下载DataX的源代码进行编译
wget https://codeload.github.com/alibaba/DataX/zip/master
git clone git@github.com:alibaba/DataX.git

或者

  • 下载DataX的二进制安装包(本文采用的方法)
# wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
wget https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202309/datax.tar.gz

在这里插入图片描述
解压如下:

tar -zxvf datax.tar.gz

在这里插入图片描述
查看文件夹/home/tomcat如下:
在这里插入图片描述
查看文件夹/home/tomcat/datax/bin如下:
在这里插入图片描述
查看文件夹/home/tomcat/datax/job如下:
在这里插入图片描述

2.2 Java

输入命令检查java是否已安装。

java -version

在这里插入图片描述
说明java没有安装。
安装java环境,输入如下代码如下:

apt-get install openjdk-11-jre-headless openjdk-11-jdk-headless

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

2.3 Python

输入命令检查python是否已安装。

python -v

在这里插入图片描述

python3 -v

在这里插入图片描述

3、DataX Web安装配置

3.1 mysql

下载mysql数据库的安装包:

mkdir mysql
cd mysql
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar

在这里插入图片描述
解压mysql数据库的安装包:

tar xvf mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar

在这里插入图片描述

依次安装如下文件:

 libmysqlclient20_5.7.31-1ubuntu18.04_amd64.deblibmysqlclient-dev_5.7.31-1ubuntu18.04_amd64.deblibmysqld-dev_5.7.31-1ubuntu18.04_amd64.debmysql-client_5.7.31-1ubuntu18.04_amd64.debmysql-common_5.7.31-1ubuntu18.04_amd64.debmysql-community-client_5.7.31-1ubuntu18.04_amd64.debmysql-community-server_5.7.31-1ubuntu18.04_amd64.debmysql-community-source_5.7.31-1ubuntu18.04_amd64.debmysql-server_5.7.31-1ubuntu18.04_amd64.deb#mysql-testsuite_5.7.31-1ubuntu18.04_amd64.deb#mysql-community-test_5.7.31-1ubuntu18.04_amd64.deb

比如命令如下:

sudo apt-get install ./mysql-server_5.7.31-1ubuntu18.04_amd64.deb

在这里插入图片描述

测试是否安装成功如下:

mysql -V

在这里插入图片描述
安装完成后查看mysql服务:

netstat -tap | grep mysql

在这里插入图片描述

修改 root 密码和 host:

mysql
use mysql
update user set host = '%' where user = 'root' 
SET PASSWORD FOR 'root'@'%' = PASSWORD('XXXXXXXX');
FLUSH PRIVILEGES;
select user,host from user;
FLUSH PRIVILEGES;

在这里插入图片描述
测试mysql是否能登录成功。
在这里插入图片描述
查看mysql数据库情况:

show databases;

在这里插入图片描述

use dataweb;
show tables;

在这里插入图片描述
执行如下操作,使得远程可以连接mysql数据库。

# 查看监听
netstat -an |grep 3306
# 前监听的是本地回环地址:tcp 0 0 127.0.0.1:3306  0.0.0.0:* LISTEN 
# 远程客户端无法访问# 修改MySQL的本地监听地址
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf修改bind-address 的值为 bind-address = 0.0.0.0保存退出。
也可以修改为本机ip,例如:bind-address = 192.168.111.10# 重启mysql数据库
sudo service mysql restart# 在远程客户端机器上测试下网络,telnet成功说明网络没问题
telnet 192.168.111.10 3306# 注意:阿里云服务器有端口限制,需要去配置下端口访问规则开放3306端口
网址:[https://homenew.console.aliyun.com/](https://homenew.console.aliyun.com/)

在这里插入图片描述
数据库的基本操作命令:

# 直接登陆mysql
mysql -u用户名 -p密码 数据库名
# 例如: 
mysql -uroot -p123456 mysql# 先登陆后面再输入密码和选择数据库
mysql -u root -p
Enter password:  “root用户密码”
mysql> use mysql # 选择要操作的数据库# 切换数据库
use 数据库名;# 查看所有数据库
show databases;  # 查看登陆数据库中所有的表
show tables;  # 查看数据表结构
desc 表名;# 查看登陆用户名 
select user();  # 查看登陆数据库库名
select database();# 查看版本
select version();# 显示当前时间
select now();# 查看所有用户的 用户名、可登陆主机、身份验证插件、密码  
select user,host,plugin,authentication_string from user;# 查看当前登录用户权限
show grants;# 查看任意用户权限(后面说权限的具体含义)
show grants for root@localhost;

数据库的备份及恢复:

# 备份所有数据库:
mysqldump -uroot -p --all-databases > all.db# 备份指定数据库:
mysqldump -uroot -p pydb > test1.db# 备份指定数据库的某些表
mysqldump -uroot -p pydb 表名1 表名2 表名n > test2.db# 备份指定数据库排除某些表(排除表1 和 表2)
mysqldump -uroot -p pydb --ignore-table=pydb.表1 --ignore-table=pydb.表2 > test3.db# 创建test数据库
create database test charset=utf8; # 恢复备份数据,导入的数据库必须存在
mysql -u root -p test < test1.db

卸载mysql:

# 卸载mysql:
1.sudo apt-get autoremove mysql* --purge
2.sudo apt-get remove mysql-server
3.sudo apt-get remove mysql-common# 清理残留数据 
sudo dpkg -l |grep mysql|awk '{print $2}' |sudo xargs dpkg -P 
sudo rm -rf /etc/mysql/ 
sudo rm -rf /var/lib/mysql# 检查是否删除完毕
whereis mysql
sudo find / -name mysql

3.2 DataX Web

https://github.com/WeiYe-Jing/datax-web

3.2.1 简介

DataX集成可视化页面,选择数据源即可一键生成数据同步任务,支持RDBMS、Hive、HBase、ClickHouse、MongoDB等数据源,批量创建RDBMS数据同步任务,集成开源调度系统,支持分布式、增量同步数据、实时查看运行日志、监控执行器资源、KILL运行进程、数据源信息加密等。

3.2.2 架构图

在这里插入图片描述

3.2.3 依赖环境

  • Language: Java 8(jdk版本建议1.8.201以上)
  • Python2.7(支持Python3需要修改替换datax/bin下面的三个python文件,替换文件在doc/datax-web/datax-python3下)
  • Environment: MacOS, Windows,Linux
  • Database: Mysql5.7

3.2.4 安装

https://github.com/WeiYe-Jing/datax-web/blob/master/doc/datax-web/datax-web-deploy.md
在这里插入图片描述

https://pan.baidu.com/s/13yoqhGpD00I82K4lOYtQhg
提取码:cpsk
  • 1)解压安装包
    在选定的安装目录,解压安装包
tar -zxvf datax-web-{VERSION}.tar.gz
  • 2)执行一键安装脚本
    进入解压后的目录,找到bin目录下面的install.sh文件,如果选择交互式的安装,则直接执行
./bin/install.sh
  • 3)数据库初始化
    如果你的服务上安装有mysql命令,在执行安装脚本的过程中则会出现以下提醒:
Scan out mysql command, so begin to initalize the database
Do you want to initalize database with sql: [{INSTALL_PATH}/bin/db/datax-web.sql]? (Y/N)y
Please input the db host(default: 127.0.0.1): 
Please input the db port(default: 3306): 
Please input the db username(default: root): 
Please input the db password(default: ): 
Please input the db name(default: exchangis)
    1. 配置
      在项目目录下/modules/datax-execute/bin/env.properties 指定PYTHON_PATH的路径
vi ./modules/{module_name}/bin/env.properties### 执行datax的python脚本地址
PYTHON_PATH=### 保持和datax-admin服务的端口一致;默认是9527,如果没改datax-admin的端口,可以忽略
DATAX_ADMIN_PORT=

此文件中包括一些默认配置参数,例如:executor.port,json.path,data.path等,具体请查看文件。

检查文件bootstrap.properties:

cd ./datax-web
vi ./modules/datax-admin/conf/bootstrap.properties

在这里插入图片描述
datax-web-server分为2模块:admin 、executor。
检查admin配置修改:

cd ./datax-web
sudo vi ./modules/datax-admin/bin/env.properties
# 修改server port、邮件、java_home等信息

在这里插入图片描述
检查executor 配置修改:


cd ./datax-web
sudo vi ./modules/datax-executor/bin/env.properties

在这里插入图片描述

  • 5)启动服务
    运行bin目录下start-all.sh (或者分别启动admin、executor)。
    一键启动所有服务
./bin/start-all.sh

一键取消所有服务

./bin/stop-all.sh

汇总命令如下:

./bin/start-all.sh # 启动
./bin/stop-all.sh # 停止# 启动后jps,可以看到admin和executor进程
jps
  • 6)查看服务
    在Linux环境下使用JPS命令,查看是否出现DataXAdminApplication和DataXExecutorApplication进程,如果存在这表示项目运行成功;
    如果项目启动失败,请检查启动日志:modules/datax-admin/bin/console.out或者modules/datax-executor/bin/console.out;
    在这里插入图片描述

  • 7)运行
    部署完成后,在浏览器中输入 http://ip:port/index.html 就可以访问对应的主界面(ip为datax-admin部署所在服务器ip,port为为datax-admin 指定的运行端口);

http://192.168.1.123:9527/index.html

输入用户名 admin 密码 123456 就可以直接访问系统;

在这里插入图片描述

4、入门使用

4.1 DataX自带打印示例测试

输入DataX的测试命令如下:

python3 datax.py ../job/job.json

在这里插入图片描述
命令行结果输出:
在这里插入图片描述
初步测试成功。

4.2 DataX生成任务模板文件

通过命令生成datax任务的模板json文件。

cd  ./datax/bin/
python datax.py -r mysqlreader -w mysqlwriter > mysql2mysql.json

在这里插入图片描述
查看文件mysql2mysql.json如下:
在这里插入图片描述

cat mysql2mysql.json

准备数据表如下:
t_user:
在这里插入图片描述
t_user2:
在这里插入图片描述

根据各自需求,按照模板修改文件mysql2mysql.json:

{"job": {"content": [{"reader": {"name":"mysqlreader","parameter": {"column": ["user_id"],"connection": [{"jdbcUrl": ["jdbc:mysql://192.168.36.130:3306/test?useSSL=false"],"table": ["t_user"]}],"password":"123456","username":"root"}},"writer": {"name":"mysqlwriter","parameter": {"column": ["user_id"],"connection": [{"jdbcUrl":"jdbc:mysql://192.168.36.130:3306/test?useSSL=false","table": ["t_user2"]}],"password":"123456","username":"root","writeMode":"insert"}}}],"setting": {"speed": {"channel":"1"}}}
}

①select中字段个数和writer节点上“column”的个数需保持一致,如果能确保 select中的字段与目标表保持一致,可在writer节点的配置上去掉“column”相关配置。
②writer节点的jdbcUrl,不可以同reader节点那样用“[]”括起来。

启动datax同步任务:

python ./datax.py ./mysql2mysql.json

在这里插入图片描述
在这里插入图片描述
修改mysql2mysql.json中的字段数据如下:

"column": ["user_id", "name"],

再次执行命令如下:

python ./datax.py ./mysql2mysql.json

数据表结果更新如下:
在这里插入图片描述

4.3 DataX-Web创建任务

  • 创建项目
    在这里插入图片描述

  • 创建执行器
    在这里插入图片描述

  • 创建数据源
    在这里插入图片描述

  • 创建任务模板
    此步骤是主要是为了后边构建任务的时候,为任务指定执行器。
    在这里插入图片描述

  • 创建任务
    在这里插入图片描述

  • 生成任务json文件
    在这里插入图片描述

  • 管理任务,执行任务
    在这里插入图片描述

  • 查看日志
    在这里插入图片描述

5、FAQ

5.1 DataX-Web连接不上MySQL

在这里插入图片描述

  • 问题:
    Code:[MYSQLErrCode-02], Description:[数据库服务的IP地址或者Port错误,请检查填写的IP地址和Port或者联系DBA确认IP地址和Port是否正确。如果是同步中心用户请联系DBA确认idb上录入的IP和PORT信息和数据库的当前实际信息是一致的]. - 具体错误信息为:com.mysql.jdbc.excep

  • 回答:
    不建议在没有服务器身份验证的情况下建立SSL连接,根据MySQL 5.5.45+、5.6.26+和5.7.6+的要求,如果没有设置显式选项,则必须默认建立SSL连接。为了符合不使用SSL的现有应用程序,verifyServerCertificate属性被设置为“false”。您需要通过设置useSSL=false显式禁用SSL,或者设置useSSL=true并为服务器证书验证提供信任存储。

很简单,在连接数据库的url后面加上参数即可,例如:

jdbc:mysql://localhost:3306/testdb?useSSL=false

使用上述标红的URL,即可解决该警告,标红参数前面为你数据库连接URL,如果有多个参数记得用&连接,例如:

jdbc:mysql://localhost:3306/testdb?characterEncoding=utf-8&useSSL=false

在这里插入图片描述

5.2 在有总bps限速条件下,单个channel的bps值不能为空,也不能为非正数?

解决办法:
修改文件datax/conf/core.json:

"core": {"dataXServer": {"address": "http://localhost:7001/api","timeout": 10000,"reportDataxLog": false,"reportPerfLog": false},"transport": {"channel": {"class": "com.alibaba.datax.core.transport.channel.memory.MemoryChannel","speed": {"byte": 2000000,"record": -1},"flowControlInterval": 20,"capacity": 512,"byteCapacity": 67108864},"exchanger": {"class": "com.alibaba.datax.core.plugin.BufferedRecordExchanger","bufferSize": 32}},
}

修改core -> transport -> channel -> speed -> “byte”: 2000000,将单个channel的大小改为2MB即可。
在这里插入图片描述

5.3 触发任务报错Cannot run program “python”: error=2, No such file or directory

解决办法:
因为Ubuntu自带的python没有/usr/bin/python该目录,data-web源码中默认调用/usr/bin/python,解决方法可以搭建软连接

ln -s /usr/bin/python3 /usr/bin/python

或者若安装了python2也可以

ln -s /usr/bin/python2 /usr/bin/python

5.4 基于代码重新打包DataX

  • 代码下载地址
    https://github.com/taosdata/DataX

datax和datax web可以使用maven进行编译源码和打包,因此需要先安装maven。
在Linux系统中,可以使用以下命令安装maven:

sudo apt-get install maven

在这里插入图片描述

mvn -v

在这里插入图片描述

进入datax源代码目录,执行以下命令进行编译:

mvn clean package assembly:assembly -Dmaven.test.skip=true 

其中,-Dmaven.test.skip=true表示跳过测试。
(1)找不到依赖包:
[ERROR] Failed to execute goal on project hdfsreader: Could not resolve dependencies for project com.alibaba.datax:hdfsreader:jar:0.0.1-SNAPSHOT: Could not find artifact org.pentaho:pentaho-aggdesigner-algorithm:jar:5.1.5-jhyde in nexus-aliyun (https://maven.aliyun.com/repository/central) -> [Help 1]

解决方法:从提示上看,是hdfsreader的包缺失,相应的hdfswriter也应该是不行的。因为我用不到这两个组件,于是在pom.xml中注释掉。
在这里插入图片描述
(2)问题:提示disk空间too little,实际空间有很大?
解决方法:实际是/tmp目录小于默认的1G,设置小一点就好了。配置文件minimalTmpDirGB设置小一点就正常了。
logdir datadir tmpdir 都有自己的min value,在/etc/taos/taos.cfg指定。
然后重启一下涛思服务。

启动服务进程: systemctl start taosd
停止服务进程: systemctl stop taosd
重启服务进程: systemctl restart taosd
查看服务状态: systemctl status taosd

编译完成后,会在target目录下生成datax.tar.gz文件。
将datax.tar.gz文件解压到任意目录,例如/home/datax:

tar -zxvf datax.tar.gz -C /home/

进入datax目录,编辑job目录下的job.json文件,配置datax的运行参数。

安装maven并切换阿里镜像源。不然编译的时候会找不到第三方依赖项。
修改为国内阿里镜像源,找到/usr/share/maven/conf/settings.xml文件,打开并修改以下:

<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url>
</mirror>

settings.xml文件可能会显示只读。需要修改下权限再保存它。

sudo chmod 777 /usr/share/maven/conf/settings.xml

打包成功后的DataX包位于 {DataX_source_code_home}/target/datax/datax/ 。
在这里插入图片描述

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/143465.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kubernetes集群编排——istio

官网&#xff1a;https://istio.io/latest/zh/about/service-mesh/ 部署 [rootk8s2 ~]# tar zxf istio-1.19.3-linux-amd64.tar.gz [rootk8s2 ~]# cd istio-1.19.3/[rootk8s2 istio-1.19.3]# export PATH$PWD/bin:$PATH demo专为测试准备的功能集合 [rootk8s2 istio-1.19.3]# i…

Linux文件系统之inode

文章目录 1. 磁盘1.1 认识磁盘1.2 磁盘物理构造1.3 磁盘逻辑结构 2. 文件系统3. 如何理解目录 1. 磁盘 1.1 认识磁盘 文件 内容 属性&#xff0c;而文件是存储在磁盘上&#xff0c;那么可以理解为磁盘上存储的文件 存储的文件内容 存储的文件属性。 文件的内容采用的是块式…

kube-bench-CIS基准的自动化扫描工具学习

仓库地址&#xff1a;GitHub - aquasecurity/kube-bench: Checks whether Kubernetes is deployed according to security best practices as defined in the CIS Kubernetes Benchmark kube-bench,检查 Kubernetes 是否根据 CIS Kubernetes 基准中定义的安全最佳实践部署,下载…

应用协议安全:Rsync-common 未授权访问.

应用协议安全&#xff1a;Rsync-common 未授权访问. Rsync 是 Linux 下一款数据备份工具&#xff0c;支持通过 rsync 协议、ssh 协议进行远程文件传输。其中 rsync 协议默认监听 873 端口&#xff0c;如果目标开启了 rsync 服务&#xff0c;并且没有配置 ACL 或访问密码&#…

Redis05-集群方案

目录 Redis集群方案 主从复制 主从复制的基本原理 主从复制的工作流程 乐观复制 主从复制的优势 哨兵机制 哨兵的关键作用 服务状态监控 哨兵选举Master规则 分片集群 分片集群中的数据读写 数据写入 数据读取 一致性哈希和客户端分片 Redis集群方案 微服务时代…

TDengine 与煤科院五大系统实现兼容性互认,助力煤矿智能化安全体系搭建

近日&#xff0c;涛思数据与煤炭科学技术研究院&#xff08;以下简称煤科院&#xff09;已完成数个产品兼容互认证工作&#xff0c;经双方共同严格测试&#xff0c;涛思数据旗下物联网、工业大数据平台 TDengine V3.X 与煤炭科学技术研究院旗下煤矿复合灾害监测监控预警系统、煤…

Elasticsearch docker-compose 使用 Logstash 从 JSON 文件中预加载数据

在我们创建 Elasticsearch 进行开发时&#xff0c;最简单的办法就是在本地使用 docker-compose 来一键部署一个 Elasticsearch 集群。有时&#xff0c;特别是在准备测试环境时&#xff0c;开发人员希望从一开始就创建包含一些测试数据的数据库容器。我们可以使用 Logstash 来很…

什么是自动化测试框架?

无论是在自动化测试实践&#xff0c;还是日常交流中&#xff0c;经常听到一个词&#xff1a;框架。之前学习自动化测试的过程中&#xff0c;一直对“框架”这个词知其然不知其所以然。 最近看了很多自动化相关的资料&#xff0c;加上自己的一些实践&#xff0c;算是对“框架”…

使用python电脑轻量级控制手机—adb命令和手机投屏

文章目录 一、通过无线连接手机和电脑二、使用adb命令轻量级控制手机二、使用scrcpy控制手机 通过电脑控制手机有多种方式如appnium等&#xff0c;本文介绍的是两种轻量级的方案&#xff0c;使用adb命令刚和手机投屏。 一、通过无线连接手机和电脑 1、手机设置 开发者选项—us…

使用 MATLAB HDL Coder 和 FPGA 快速实现自动白平衡(AWB)

使用 MATLAB HDL Coder 和 FPGA 快速实现自动白平衡&#xff08;AWB&#xff09; 在此项目中&#xff0c;我们将使用 MATLAB Simulink 和 HDL 编码器创建自定义 IP -- AWB。 MATLAB 设计 自动白平衡模块的设计是使用 HDL Coder 在 MATLAB 和 Simulink 中创建的。HDL Coder能够生…

11.15 知识总结(模板层、模型层)

一、 模板层 1.1 过滤器 1.什么是过滤器&#xff1f; 过滤器类似于python的内置函数&#xff0c;用来把变量值加以修饰后再显示。 2. 语法 1、 {{ 变量名|过滤器名 }} 2、链式调用&#xff1a;上一个过滤器的结果继续被下一个过滤器处理 {{ 变量名|过滤器1|过滤器2 }} 3、有的过…

idea中搭建Spring boot项目(借助Spring Initializer)

创建新项目 启动端口 在项目配置文件application.properties中写入 #启动端口server.port8088编写测试方法 创建控制类文件夹–>便于规范我们新建一个controller包–>建一个HelloWorld.class package com.example.hellospringboot.controller;import org.springframew…

Linux下MSSQL (SQL Server)数据库无法启动故障处理

有同事反馈一套CentOS7下的mssql server2017无法启动需要我帮忙看看&#xff0c;启动报错情况如下 检查日志并没有更新日志信息 乍一看mssql-server服务有问题&#xff0c;检查mssql也确实没有进程 既然服务有问题&#xff0c;那么我们用一种方式直接手工后台启动mssql引擎来…

arcgis--填充面域空洞

方法一&#xff1a;使用【编辑器】-【合并工具】进行填充。首选需要在相同图层中构造一个填充空洞的面域&#xff0c;然后利用【合并】工具进行最后填充。 打开一幅含有空洞的矢量数据&#xff0c;如下&#xff1a; 打开【开始编辑】-【构造工具】-【面】进行覆盖空洞的面域的…

时间序列预测实战(九)PyTorch实现LSTM-ARIMA融合移动平均进行长期预测

一、本文介绍 本文带来的是利用传统时间序列预测模型ARIMA(注意&#xff1a;ARIMA模型不属于机器学习)和利用PyTorch实现深度学习模型LSTM进行融合进行预测&#xff0c;主要思想是->先利用ARIMA先和移动平均结合处理数据的线性部分&#xff08;例如趋势和季节性&#xff09…

[html] 动态炫彩渐变背景

废话不多说&#xff0c;直接上源码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>ZXW-NUDT: 动态炫…

如何在 macOS 中删除 Time Machine 本地快照

看到这个可用82GB&#xff08;458.3MB可清除&#xff09; 顿时感觉清爽&#xff0c;之前的还是可用82GB&#xff08;65GB可清除&#xff09;&#xff0c;安装个xcode都安装不上&#xff0c;费解半天&#xff0c;怎么都解决不了这个问题&#xff0c;就是买磁盘情理软件也解决不了…

Spring Boot 整合xxl-job实现分布式定时任务

xxl-job介绍 XXL-JOB是一个分布式任务调度平台&#xff0c;其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线&#xff0c;开箱即用。 xxl是xxl-job的开发者大众点评的许雪里名称的拼音开头。 设计思想 将调度行为抽象形成“调度…

一、认识微服务

目录 一、单体架构 二、分布式架构 三、微服务 1、微服务架构特征&#xff1a; 1.单一职责&#xff1a; 2.面向服务&#xff1a; 3.自治&#xff1a; 4.隔离性强&#xff1a; 2、微服务结构&#xff1a; 3、微服务技术对比&#xff1a; 一、单体架构 二、分布式架构 三…