【云原生】docker 部署 Doris 数据库使用详解

news2024/9/21 0:50:48

目录

一、前言

二、数据分析概述

2.1 什么是数据分析

2.2 数据分析目的和意义

2.3 数据分析常用的技术和工具

2.3.1 编程语言

2.3.2 数据处理和分析库

2.3.3 数据可视化工具

2.3.4 数据库系统

2.3.5大数据处理框架

2.3.6 云服务和平台

2.3.7 其他工具

三、Doris介绍

3.1 什么是Doris

3.2 Doris核心特性

3.3 Doris核架构组件

3.4 Doris使用场景

四、基于docker搭建Doris

4.1 环境准备

4.1.1 服务器准备

4.1.2 设置机器的linux内核参数

4.2 获取安装包与Doris镜像

4.2.1 下载Doris运行镜像

4.2.3 获取必要的安装包

4.3 启动Doris容器

4.4 修改与配置FE文件

4.4.1 复制安装包到容器

4.4.2 获取网络IP

4.4.3 配置fe的IP地址

4.5 启动fe服务

4.5.1 浏览器访问

4.5.2 fe 服务环境测试

4.6 配置be

4.6.1 配置网络IP

4.6.2 配置JDK

4.7 启动be服务

4.7 数据建表与功能测试

4.7.1 创建测试数据表

4.7.2 创建测试数据并导入

4.7.3 查询数据是否导入成功

4.7.4 使用客户端工具连接

4.7.5 服务启动停止命令补充

五、写在文末


一、前言

随着大数据的发展,数据规模一旦到了一定的量级之后,业务对于数据的消费需求变得越来越强烈,基于数据的分析场景也会越来越多,数据分析也因此伴随着移动互联网的高速发展而飞速发展,具体来说,对数据的分析带来的优势是体现在诸多方面的,也因此当很多公司的业务数据达到一定规模之后就开始逐步深入挖掘数据背后的价值,这也形成了与之相关的数据分析领域的诸多岗位和业务,本篇将先介绍一款在数据分析领域具有重要地位的工具,Doris的搭建和使用。

二、数据分析概述

2.1 什么是数据分析

数据分析是指使用统计学方法、计算机科学技术和领域知识来识别模式、趋势和关联,从而从数据中提取有价值的信息的过程。数据分析可以帮助组织做出更明智的决策,优化业务流程,提高效率,以及发现新的商业机会。

2.2 数据分析目的和意义

数据分析的目的在于从数据中提取有价值的信息,帮助企业或组织更好地理解现状、解决问题、预测未来趋势,并据此作出更明智的决策。以下是数据分析的主要目的:

  • 描述现状

    • 描述性分析:通过总结和汇总数据来描述当前的状态或情况。例如,通过分析销售数据来了解过去一段时间内的销售表现。

    • 绩效评估:评估关键绩效指标(KPIs)以衡量业务活动的效果,如销售额、客户满意度、网站流量等。

  • 发现问题

    • 诊断性分析:探讨数据背后的原因,找出影响结果的关键因素。例如,通过分析退货率高的产品来确定质量问题所在。

    • 异常检测:识别数据中的异常值或不寻常的行为,帮助发现潜在的问题或机会。

  • 预测未来

    • 预测性分析:利用历史数据和统计模型来预测未来的趋势或结果。例如,基于历史销售数据预测下个月的销售量。

    • 趋势分析:识别数据随时间变化的趋势,帮助组织预见市场的变化。

  • 指导决策

    • 规范性分析:提供决策支持,通过分析不同情景下的预期结果来指导最佳行动路径。例如,分析不同的市场推广策略来决定最优方案。

    • 优化运营:通过分析业务流程中的瓶颈来优化操作,提高效率和降低成本。

  • 提升用户体验

    • 个性化推荐:根据用户的偏好和行为模式来提供个性化的推荐和服务,提升用户体验。

    • 用户行为分析:通过分析用户的行为数据来改进产品设计和服务,增加用户粘性和满意度。

  • 支持创新

    • 新机会识别:通过数据分析发现新的市场机会或潜在的产品创新点。

    • 研发辅助:在产品研发过程中,通过数据分析来验证假设、优化设计或评估性能。

  • 风险管理

    • 风险评估:通过分析历史数据来评估潜在的风险水平,例如信用风险、市场风险等。

    • 欺诈检测:通过分析异常模式来识别欺诈行为。

2.3 数据分析常用的技术和工具

数据分析涉及多种技术和工具,这些技术和工具帮助分析师从数据中提取有价值的信息,支持决策制定。以下是数据分析中常用的一些技术和工具:

2.3.1 编程语言

数据分析中,常用的编程语言包括:

  • Python:广泛应用于数据分析,拥有丰富的库如 Pandas、NumPy、SciPy、Matplotlib、Seaborn、Scikit-Learn 等。

  • R:特别适合统计分析,拥有大量的统计和图形库。

  • SQL:用于从关系型数据库中提取和操作数据。

  • Julia:一种高性能的语言,特别适合于科学计算和数据分析。

2.3.2 数据处理和分析库

  • Pandas (Python):提供了高效的数据结构和数据分析工具。

  • NumPy (Python):用于数值计算的基础库。

  • SciPy (Python):提供了科学计算中的高级功能,如优化、插值等。

  • Scikit-Learn (Python):提供了广泛使用的机器学习算法。

  • Statsmodels (Python):用于统计建模。

  • Dplyr (R):提供了数据处理功能,如筛选、排序、聚合等。

  • ggplot2 (R):用于生成高质量的统计图形。

2.3.3 数据可视化工具

  • Matplotlib (Python):基础的绘图库。

  • Seaborn (Python):基于 Matplotlib,提供更高级的图形。

  • Plotly (Python/R):交互式图表库。

  • Tableau:强大的商业智能工具,用于创建交互式仪表板。

  • Power BI:微软的数据可视化工具,用于构建交互式报表。

  • QlikView/Qlik Sense:商业智能和数据可视化软件。

2.3.4 数据库系统

  • 关系型数据库:如 MySQL、PostgreSQL、Oracle、Microsoft SQL Server 等,用于存储结构化数据。

  • NoSQL 数据库:如 MongoDB、Cassandra、Redis 等,用于存储非结构化或半结构化数据。

  • NewSQL 数据库:如 CockroachDB、TiDB 等,结合了传统 SQL 数据库的事务处理能力和 NoSQL 数据库的可扩展性。

2.3.5大数据处理框架

  • Apache Hadoop:分布式存储和处理大规模数据集的框架。

  • Apache Spark:高速集群计算框架,支持批处理、实时数据流处理、机器学习等。

  • Apache Flink:流处理和事件驱动应用的框架。

  • Apache Hive:数据仓库工具,提供 SQL 查询功能。

  • Apache Kafka:分布式流处理平台,用于构建实时数据管道和流应用。

2.3.6 云服务和平台

  • Amazon Web Services (AWS):提供了多种数据分析服务,如 AWS Glue、Amazon Redshift、Amazon S3 等。

  • Google Cloud Platform (GCP):提供了 BigQuery、Dataflow、Dataproc 等数据处理和分析服务。

  • Microsoft Azure:提供了 HDInsight、Azure Databricks、Azure Data Lake 等服务。

2.3.7 其他工具

  • Excel:虽然主要用于办公自动化,但在小型数据集的处理和可视化方面仍然非常流行。

  • Alteryx:用于数据准备、融合和分析的商业软件。

  • KNIME:开源的数据分析平台,支持图形化工作流设计。

这些技术和工具的选择取决于具体的需求、数据规模以及团队的技术栈。不同的工具和技术可以组合使用,形成一套完整的数据分析解决方案。

三、Doris介绍

3.1 什么是Doris

Doris由百度大数据部研发,之前叫百度Palo,于2017年开源,2018年贡献到 Apache 社区后,更名为Doris。

  • Apache Doris是一个现代化的基于MPP(大规模并行处理)技术的分析型数据库产品。简单来说,MPP是将任务并行的分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果(与Hadoop相似)。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。

  • Apache Doris可以满足多种数据分析需求,例如固定历史报表,实时数据分析,交互式数据分析和探索式数据分析等。令您的数据分析工作更加简单高效!

中文文档:快速体验 - Apache Doris

3.2 Doris核心特性

Doris具有如下特点:

  • 列式存储;

  • 基于MPP(大规模并行处理)架构的分析型数据库;

  • 性能卓越,PB级别数据毫秒/秒级响应;

    • TPC-H、TPC-DS性能领先,性价比高,高并发查询,100台集群可达10w QPS,流式导入单节点50MB/s,小批量导入毫秒延迟。

  • 支持标准SQL语言,兼容MySQL协议;

  • 使用简单;

    • 高度兼容MySql协议,支持在线表结构变更高度集成,不依赖于外部存储系统;

  • 高效的聚合表技术;

  • 新型预聚合技术Rollup;

  • 高性能、高可用、高可靠;

    • 多副本,元数据高可用;

  • 极简运维,支持弹性伸缩;

    • 架构优雅,单集群可以水平扩展至200台以上

3.3 Doris核架构组件

Apache Doris 的整体架构非常简单,如下图所示,只有两类进程:

  • Frontend(FE):主要负责用户请求的接入、查询解析规划、元数据的管理、节点管理相关工作。

  • Backend(BE):主要负责数据存储、查询计划的执行。

这两类进程都是可以横向扩展的,单集群可以支持到数百台机器,数十 PB 的存储容量。并且这两类进程通过一致性协议来保证服务的高可用和数据的高可靠。这种高度集成的架构设计极大地降低了一款分布式系统的运维成本。

3.4 Doris使用场景

结合上图,数据源经过各种数据集成和加工处理后,通常会入库到实时数据仓库 Apache Doris 和离线湖仓(Hive, Iceberg, Hudi 中)。作为一个分布式列式存储和查询系统,主要用于实时分析和查询海量数据。它适用于以下场景:

四、基于docker搭建Doris

网上关于Doris的搭建参考资料比较多,但是分析和尝试之后,很多跑不通,接下来演示如何基于docker快速搭建起Doris的运行环境

4.1 环境准备

4.1.1 服务器准备

服务器(云服务器或虚拟机均可),2C4G(推荐4C8G),并提前安装并启动docker

4.1.2 设置机器的linux内核参数

在启动doris的be时,需将 Linux操作系统内核参数设置为2000000,这里是Doris官方要求的,直接在Docker宿主机中设置即可

sudo sysctl -w vm.max_map_count=2000000 
sysctl vm.max_map_count

4.2 获取安装包与Doris镜像

4.2.1 下载Doris运行镜像

这个镜像中安装了doris启动需要的环境,不用自己再提前准备环境了,如jdk等。镜像比较大,等待下载完成即可。

docker pull apache/doris:build-env-ldb-toolchain-latest

4.2.3 获取必要的安装包

为了后面使用mysql终端操作,还需要下载mysql的包以及doris的依赖包

# doris程序包
wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-1.2.4.1-bin-x86_64.tar.xz 

# mysql 客户端连接使用的包
wget https://doris-build-hk.oss-cn-hongkong.aliyuncs.com/mysql-client/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

4.3 启动Doris容器

使用下面的命令运行Doris容器

docker run -d -it --name=doris \
-p 9030:9030 -p 8030:8030 \
apache/doris:build-env-ldb-toolchain-latest \ 
/bin/bash

4.4 修改与配置FE文件

由于本次的环境是基于docker搭建的,后续的操作都会在容器内进行,需要把依赖包拷贝到容器,并进入容器中配置相关的信息。

4.4.1 复制安装包到容器

复制安装包到doris容器中,将上述下载的两个安装包复制到容器内部

docker cp /root/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz doris:/opt 
docker cp /root/apache-doris-1.2.4.1-bin-x86_64.tar.xz doris:/opt

4.4.2 获取网络IP

进入容器修改相关的配置文件,依次执行下面的操作

# 进入容器 
docker exec -it doris bash

# 解压文件 
cd /opt/ 
tar -xvf apache-doris-1.2.4.1-bin-x86_64.tar.xz 
tar -xzvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz 

# 获取本机容器内网ip地址,需修改到配置文件中
hostname -i

4.4.3 配置fe的IP地址

在容器中进行配置,找到配置文件

cd /opt/apache-doris-1.2.4.1-bin-x86_64/fe/conf
vi fe.conf

打开 priority_networks注释 将刚刚 【hostname -i】 打印出来的内网ip替换到

priority_networks = 172.17.0.2/24

4.5 启动fe服务

在容器的解压包目录下,进入bin目录,执行脚本启动fe服务

./start_fe.sh --daemon 

然后使用jps命令检查是否启动成功

测试服务是否正常,看到下面能够正常输出说明服务正常

curl http://127.0.0.1:8030/api/bootstrap

4.5.1 浏览器访问

浏览器地址访问 http://IP:8030/login,账号root,密码为空

登录之后效果如下:

4.5.2 fe 服务环境测试

接下来在mysql中连接fe,默认无密码

/opt/mysql-5.7.22-linux-glibc2.12-x86_64/bin/mysql -uroot -P9030 -h127.0.0.1 --skip-ssl
show frontends\G;

如果看到下面的效果,IsMaster、Join 和 Alive 三列均为true,则表示节点正常

4.6 配置be

4.6.1 配置网络IP

和上面配置fe的操作类似,基于上面的操作,继续修改配置文件

cd /opt/apache-doris-1.2.4.1-bin-x86_64/be/conf
vi be.conf

将下面这行配置加进去

priority_networks = 172.17.0.2/24

4.6.2 配置JDK

在启动脚本中需要设置jdk路径,上述下载的镜像jdk的默认路径为 /usr/lib/jvm/java-1.8.0,可以先ehco确认一下,因为路径可能随时版本的变更而改变

进入bin目录,在start_be.sh脚本中添加jdk的路径

vi start_be.sh
export JAVA_HOME=/usr/lib/jvm/java-1.8.0

4.7 启动be服务

启动be,然后通过mysql客户端工具连接be,即在Doris中添加已经后端节点,参照下面的指令依次执行;

# 进入bin目录,启动be 
./start_be.sh --daemon 

# 进入mysql 
/opt/mysql-5.7.22-linux-glibc2.12-x86_64/bin/mysql -uroot -P9030 -h127.0.0.1 --skip-ssl 

# 将BE节点加入到集群中 
ALTER SYSTEM ADD BACKEND "172.17.0.2:9050"; 

# 显示doris后端详情 
SHOW BACKENDS\G

Alive 

  • true表示节点运行正常(如果为false,可以尝试等待一会再重新查看,第一次启动会慢一点;或有其他问题在/opt/apache-doris-1.2.4.1-bin-x86_64/be/log/be.out 里面查看日志)

正常启动的进程像下面这样,会有一个空名字的进程,正常,就是be,退出mysql之后,可以通过jps命令查看

4.7 数据建表与功能测试

第一次接触doris的同学可能会疑惑,发现语法与MySQL差不多,其实还是有差别的,有点类似于学习Hive的时候,语法上跟mysql多少存在一些差别,可以通过下面的建表语句进行对比体验。

这里使用MySQL仅作为远程连接工具,在实际使用中仅需启动fe与be即可,Doris自动启动和管理内部的 MySQL 实例,用于存储和管理元数据。

4.7.1 创建测试数据表

基于上述搭建的环境,在docker容器内,执行如下命令进入mysql终端:

/opt/mysql-5.7.22-linux-glibc2.12-x86_64/bin/mysql -uroot -P9030 -h127.0.0.1 --skip-ssl

执行如下的建表sql

create database db_test;

use db_test;

CREATE TABLE IF NOT EXISTS db_test.tb_user
(
    `user_id` LARGEINT NOT NULL COMMENT "user id",
    `date` DATE NOT NULL COMMENT "",
    `city` VARCHAR(20) COMMENT "",
    `age` SMALLINT COMMENT "",
    `sex` TINYINT COMMENT "",
    `last_visit_date` DATETIME REPLACE DEFAULT "1970-01-01 00:00:00" COMMENT "",
    `cost` BIGINT SUM DEFAULT "0" COMMENT "",
    `max_dwell_time` INT MAX DEFAULT "0" COMMENT "",
    `min_dwell_time` INT MIN DEFAULT "99999" COMMENT ""
)
AGGREGATE KEY(`user_id`, `date`, `city`, `age`, `sex`)
DISTRIBUTED BY HASH(`user_id`) BUCKETS 1
PROPERTIES (
    "replication_allocation" = "tag.location.default: 1"
);

exit;

4.7.2 创建测试数据并导入

创建一个用于导入数据的文件

cd ~ 
vi test_user.csv

将下面的数据拷贝进去

10000,2024-08-31,beijing,20,0,2024-08-31 06:00:00,20,10,10
10006,2024-08-31,beijing,20,0,2024-08-31 07:00:00,15,2,2
10001,2024-08-31,beijing,30,1,2024-08-31 17:05:45,2,22,22
10002,2024-08-28,shanghai,20,1,2024-08-28 12:59:12,200,5,5
10003,2024-08-28,guangzhou,32,0,2024-08-28 11:20:00,30,11,11
10004,2024-08-31,shenzhen,35,0,2024-08-31 10:00:15,100,3,3
10004,2024-08-18,shenzhen,35,0,2024-08-18 10:20:22,11,6,6

将test_user.csv的数据导入mysql,执行下面的命令

curl --location-trusted -u root: -T test_user.csv -H "column_separator:," http://127.0.0.1:8030/api/db_test/tb_user/_stream_load

4.7.3 查询数据是否导入成功

登录mysql客户端,查询上述导入的数据

4.7.4 使用客户端工具连接

使用navicat连接,用户名root,默认无密码

当然你也可以基于上述的9030端口的web-ui界面操作

4.7.5 服务启动停止命令补充

下面再补充一下服务的启动与停止命令,基于docker容器的安装模式下:

启动命令:

/opt/apache-doris-1.2.4.1-bin-x86_64/fe/bin/start_fe.sh --daemon
/opt/apache-doris-1.2.4.1-bin-x86_64/be/bin/start_be.sh --daemon

停止命令:

/opt/apache-doris-1.2.4.1-bin-x86_64/fe/bin/stop_fe.sh
/opt/apache-doris-1.2.4.1-bin-x86_64/be/bin/stop_be.sh

注意点:

docker重启后ip会变,启动后先查看hostname -i是否跟之前的一致,不一致可以关掉有影响的docker容器重新按ip顺序启动,或者改成固定IP。

五、写在文末

本文通过实际操作演示了基于docker搭建Doris单机环境的详细过程,对于很多需要学习Doris的同学来说,搭建的过程是一个麻烦而又费时费力的过程,希望本文能够提供一个快速的操作指引,本篇到此结束,感谢观看。

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

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

相关文章

Hash Table、HashMap、HashSet学习

文章目录 前言Hash Table(散列表)基本概念散列函数散列冲突(哈希碰撞)拉链法红黑树时间复杂度分析 HashMap基础方法使用基本的增删改查其他的方法 实现原理 HashSet基础操作去重原理 前言 本文用于介绍关于Hash Table、HashMap、…

UnLua调用C++函数

一、UnLua调用C全局静态函数 1、新建C类MyLuaUtils,继承BlueprintFunctionLibrary,实现全局静态函数GetInt。 MyLuaUtils.h UCLASS() class LUASHOOTING_API UMyLuaUtils : public UBlueprintFunctionLibrary {GENERATED_BODY()UFUNCTION(BlueprintCallable)static…

leetcode hot100_part17_技巧篇

题目 136.只出现一次的数字 结合题目给的数据特征,使用位运算中的异或^;异或的结果很好记,相互不同就是1,相同就是0;同或一样的 169.多数元素 直接排序了 后面那几个方法不看了,追求效率可以再看&#…

前端工程化详解 包管理工具

前端工程化详解 & 包管理工具 1、工程化体系介绍1.1、 什么是前端工程化1.2、 前端工程化发展 2、脚手架能力2.1 准备阶段2.2 开发阶段2.3 发布流程 3、npm能力3.1 剖析package.json3.1.1 必备属性3.1.2 描述信息3.1.3 依赖配置3.1.4 协议3.1.5 目录&文件相关3.1.5.1 程…

MATLAB基础语法知识

环境的配置等等就不写了,网上还是有很多资源可以找,而且正版的要付费,我也是看的网上的搞定的。 一,初识MATLAB 1.1 MATLAB的优势 不需要过多了解各种数值计算方法的具体细节和计算公式,也不需要繁琐的底层编程。可…

Untiy TTF转换为SDF

Untiy TTF转换为SDF 原因 下载的字体是TTF格式,但是TMP使用的是SDF格式,不支持TTF,需要转换网络没有检索到TTF转SDF的教程,可能是太简单了,自己记录一下吧 Unity内转换即可 在Asset中找到自己的TTF右键点击TTF&…

C++入门基础篇

引言 说到编程语言常常听到的就是C语言C Java 。C语言是面向过程的,C是和Java是面向对象的,那么什么是面向对象呢?什么又是面向过程呢?C是什么?封装、继承、多态是什么?且听我絮絮叨叨。 C入门基础 1.命名…

fluent 旋转机械流场与声场仿真-学习笔记

这里写目录标题 1、动网格与滑移网格、运动参考系2、网格拓扑与共节点设置3、模型选择4、关于旋转壁面(rotor_blade)的边界条件设置5、滑移网格瞬态计算时间步长设置6、风机声场仿真域![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/7855a595ee704c42a644…

【linux学习指南】Linux项目自动化构建工具 make /makefile进度条代码

文章目录 📝前言🌠 Makefile 格式🌉Makefile命令符号 🌠makefile/make基本原理🌉总和小案例 🌠进度条代码🚩总结 📝前言 一个工程中的源文件多不技计数,其按其按类型、功…

某部门系统主机中病毒分析

一、安全巡检 正在写着代码,我的电脑火绒软件提示有内网攻击,关于一个古老的漏洞:“永恒之蓝”。瞬间来了兴趣,不会现在仍然有电脑中这病毒吧,打开绿盟安全管理平台。根据IP查询记录,果然有很多漏洞。 发…

《深入浅出WPF》读书笔记.11Template机制(上)

《深入浅出WPF》读书笔记.11Template机制(上) 背景 模板机制用于实现控件数据算法的内容与外观的解耦。 《深入浅出WPF》读书笔记.11Template机制(上) 模板机制 模板分类 数据外衣DataTemplate 常用场景 事件驱动和数据驱动的区别 示例代码 使用DataTemplate实现数据样式…

2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]

目录 1.数据库与数据库管理系统 1.1 数据库的相关概念 1.2 数据库与数据库管理系统的关系 1.3 常见的数据库简介 Oracle 1. 核心功能 2. 架构和组件 3. 数据存储和管理 4. 高可用性和性能优化 5. 安全性 6. 版本和产品 7. 工具和接口 SQL Server 1. 核心功能 2. 架构和组…

唯徳知识产权产权系统存在任意文件读取漏洞

漏洞描述 深圳市唯德科创信息有限公司(以下简称:唯德)于2014年在深圳成立,是专业提供企业、代理机构知识产权管理软件供应商,唯德凭借领先的技术实力和深厚的专利行业积累,产品自上市推广以来,…

一文讲懂Spring Event事件通知机制

目录 一 什么是spring event 二 怎么实现spring event 一 什么是spring event 我不会按照官方的解释来说什么是spring event,我只是按照自己的理解来解释,可能原理上会和官方有偏差,但是它的作用和功能就是这个,我更加偏向于从他…

CTK框架(三): 插件的安装

目录 1.方式1:使用ctk框架工厂,适用于调用普通的插件 1.1.步骤 1.2.实现 2.方法2:使用ctk框架启动器,适用于需要eventadmin时 2.1.实现 3.注意事项 1.方式1:使用ctk框架工厂,适用于调用普通的插件 1…

Linux服务器应急响应(下)

目录 介绍步骤 介绍 Linux alias命令用于设置指令的别名。 用户可利用alias,自定指令的别名。若仅输入alias,则可列出目前所有的别名设置。alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,可在.profile或.cshrc中设定指令…

ggplot2 缩小的、带箭头的坐标轴 | R语言

1. 效果图 左侧为DimPlot2()效果图。 右侧为DimPlot()效果图,原图。 2. 代码 # DimPlot with 缩小的坐标轴 # # param scObject # param reduction # param group.by # param label # param raster # param legend.position # param ... # # return # expo…

OCC开发_变高箱梁全桥建模

概述 上一篇文章《OCC开发_箱梁梁体建模》中详细介绍了箱梁梁体建模的过程。但是,对于实际桥梁,截面可能存在高度、腹板厚度、顶底板厚度变化,全桥的结构中心线存在平曲线和竖曲线。针对实际情况,通过一个截面拉伸来实现全桥建模显…

长短期记忆神经网络-LSTM回归预测-MATLAB代码实现

一、LSTM简介(代码获取:底部公众号) 长短期记忆神经网络(Long Short-Term Memory, LSTM)是一种循环神经网络(Recurrent Neural Network, RNN)的变体。相比于传统的RNN,LSTM能够更好…

nvidia-smi 随机掉卡,error,禁用GSP功能

问题 NVIDIA 驱动中默认开启加载GPU卡的GSP功能,会随机导致在执行nvidia-smi命令的时候读取GPU卡为ERR状态,或者导致smi命令卡死; 如下图,以A800为例,Centos系统; 涉及到的包含以下型号的GPU卡&#xff…