Spark面试题及详细答案100道(71-80)-- 配置与部署

前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,SQL,Linux… 。

前后端面试题-专栏总目录

在这里插入图片描述

文章目录

  • 一、本文面试题目录
      • 71. Spark standalone模式的部署步骤是什么?
      • 72. 如何在YARN上部署Spark?需要配置哪些关键参数?
      • 73. Spark on YARN的`client`模式和`cluster`模式有什么区别?
      • 74. Spark的`spark-env.sh`和`spark-defaults.conf`配置文件的作用是什么?
      • 75. 如何设置Spark应用程序的名称、资源(内存、核数)等参数?
      • 76. 什么是Spark的历史服务器(History Server)?如何配置和使用?
      • 77. Spark与Hadoop的兼容性如何?需要注意哪些配置?
      • 78. 如何在Spark中集成Hive?
      • 79. 如何在Spark中配置日志级别?
      • 80. Spark应用程序提交的命令(`spark-submit`)的常用参数有哪些?
  • 二、100道Spark面试题目录列表

一、本文面试题目录

71. Spark standalone模式的部署步骤是什么?

Spark standalone模式是Spark自带的集群部署模式,适用于小规模集群,部署步骤如下:

  1. 环境准备

    • 所有节点安装Java(JDK 8+),配置JAVA_HOME
    • 下载Spark二进制包(如spark-3.4.0-bin-hadoop3.tgz),解压到所有节点的相同路径(如/opt/spark)。
    • 配置SSH免密登录(Master节点可无密码登录所有Worker节点)。
  2. 配置Master节点

    • 修改$SPARK_HOME/conf/slaves(或workers,Spark 2.0+),添加所有Worker节点的主机名或IP:
      worker1
      worker2
      worker3
      
    • (可选)修改spark-env.sh,配置Master端口和内存:
      export SPARK_MASTER_HOST=master  # Master节点主机名
      export SPARK_MASTER_PORT=7077    # Master端口(默认7077)
      export SPARK_MASTER_WEBUI_PORT=8080  # WebUI端口(默认8080)
      export SPARK_WORKER_MEMORY=8g    # 每个Worker的内存
      export SPARK_WORKER_CORES=4      # 每个Worker的核数
      
  3. 启动集群

    • 在Master节点执行启动脚本:
      $SPARK_HOME/sbin/start-all.sh
      
    • 验证集群:访问http://master:8080,查看Worker节点是否注册成功。
  4. 提交应用

    $SPARK_HOME/bin/spark-submit \--master spark://master:7077 \--class org.apache.spark.examples.SparkPi \--executor-memory 2g \--total-executor-cores 4 \$SPARK_HOME/examples/jars/spark-examples_2.12-3.4.0.jar \100
    
  5. 停止集群

    $SPARK_HOME/sbin/stop-all.sh
    

72. 如何在YARN上部署Spark?需要配置哪些关键参数?

在YARN上部署Spark(Spark on YARN)需依赖Hadoop YARN集群,步骤及关键配置如下:

  1. 环境准备

    • 已部署Hadoop YARN集群(HDFS和YARN正常运行)。
    • 确保Spark与Hadoop版本兼容(如Spark 3.x兼容Hadoop 2.7+)。
    • 配置HADOOP_CONF_DIR指向Hadoop配置目录(/etc/hadoop/conf):
      export HADOOP_CONF_DIR=/etc/hadoop/conf
      
  2. 关键配置参数(在spark-defaults.conf或提交命令中设置):

    • spark.master=yarn:指定YARN作为集群管理器。
    • spark.yarn.appMasterEnv.JAVA_HOME:YARN ApplicationMaster的JDK路径。
    • spark.executorEnv.JAVA_HOME:Executor的JDK路径。
    • spark.yarn.jars:Spark依赖JAR包的HDFS路径(避免每次提交上传JAR,如hdfs:///spark/jars/*)。
    • spark.yarn.queue:指定YARN队列(默认default)。
    • spark.driver.memory:Driver内存(默认1g)。
    • spark.executor.memory:每个Executor内存(默认1g)。
    • spark.executor.cores:每个Executor的核数(默认1)。
    • spark.dynamicAllocation.enabled:是否开启动态资源分配(默认false)。
  3. 提交应用到YARN

    spark-submit \--master yarn \--deploy-mode cluster \  # 或client模式--class org.apache.spark.examples.SparkPi \--executor-memory 2g \--executor-cores 2 \--num-executors 5 \$SPARK_HOME/examples/jars/spark-examples_2.12-3.4.0.jar \100
    
  4. 验证部署

    • 访问YARN WebUI(http://yarn-resourcemanager:8088)查看应用状态。
    • 访问Spark应用UI(通过YARN WebUI跳转,默认端口4040)。

73. Spark on YARN的client模式和cluster模式有什么区别?

Spark on YARN的clientcluster模式主要区别在于Driver程序的运行位置,具体差异如下:

特性client模式cluster模式
Driver位置运行在提交应用的客户端(如本地机器)运行在YARN集群的某个NodeManager节点上
网络通信Driver与Executor直接通信,需客户端与集群网络通畅Driver在集群内部,通信更高效
客户端依赖客户端需保持运行(关闭则应用失败)客户端提交后可退出,不影响应用运行
适用场景交互式场景(如Spark Shell、调试)生产环境、批处理任务(无需客户端持续连接)
日志查看驱动日志直接输出到客户端控制台需通过YARN WebUI或yarn logs命令查看
资源占用客户端需占用一定资源运行Driver客户端资源占用少

示例

  • client模式提交(适合调试):
    spark-submit --master yarn --deploy-mode client ...
    
  • cluster模式提交(适合生产):
    spark-submit --master yarn --deploy-mode cluster ...
    

选择建议

  • 开发调试用client模式,方便查看实时日志和交互。
  • 生产环境用cluster模式,避免客户端故障影响应用,且更适合自动化任务(如定时调度)。

74. Spark的spark-env.shspark-defaults.conf配置文件的作用是什么?

spark-env.shspark-defaults.conf是Spark的核心配置文件,分别用于环境变量应用参数配置:

  1. spark-env.sh

    • 作用:配置Spark运行的环境变量,如JVM参数、集群地址、资源限制等,影响Spark进程(Master/Worker/Driver/Executor)的启动。
    • 位置$SPARK_HOME/conf/spark-env.sh(需从模板spark-env.sh.template复制)。
    • 常见配置
      export JAVA_HOME=/usr/lib/jvm/java-8-openjdk  # JDK路径
      export SPARK_MASTER_HOST=master              # Standalone模式Master地址
      export SPARK_WORKER_MEMORY=8g                # Standalone模式Worker内存
      export SPARK_WORKER_CORES=4                  # Standalone模式Worker核数
      export SPARK_DAEMON_JAVA_OPTS="-Xmx2g"       # Master/Worker的JVM参数
      export HADOOP_CONF_DIR=/etc/hadoop/conf      # Hadoop配置目录(YARN模式)
      
  2. spark-defaults.conf

    • 作用:配置Spark应用的默认参数(如spark.masterspark.executor.memory),可被spark-submit命令的参数覆盖。
    • 位置$SPARK_HOME/conf/spark-defaults.conf(需从模板spark-defaults.conf.template复制)。
    • 常见配置
      spark.master                     yarn                  # 默认集群管理器
      spark.driver.memory              1g                    # Driver默认内存
      spark.executor.memory            2g                    # Executor默认内存
      spark.executor.cores             2                     # 每个Executor默认核数
      spark.sql.shuffle.partitions     200                   # SQL Shuffle默认分区数
      spark.serializer                 org.apache.spark.serializer.KryoSerializer  # 序列化器
      spark.yarn.jars                  hdfs:///spark/jars/*  # YARN模式下的JAR包路径
      

优先级spark-submit命令参数 > spark-defaults.conf > spark-env.sh(环境变量)。

75. 如何设置Spark应用程序的名称、资源(内存、核数)等参数?

设置Spark应用的名称和资源参数可通过**spark-submit命令**、代码配置文件实现,常用方式如下:

  1. 通过spark-submit命令设置(优先级最高):

    spark-submit \--name "MySparkApp" \  # 应用名称--master yarn \        # 集群管理器--deploy-mode cluster \ # 部署模式--driver-memory 2g \   # Driver内存--executor-memory 4g \ # 每个Executor内存--executor-cores 2 \   # 每个Executor的核数--num-executors 10 \   # Executor总数(YARN模式)--total-executor-cores 20 \ # 所有Executor的总核数(Standalone模式)--class com.example.MyApp \ # 主类myapp.jar \            # 应用JAR包arg1 arg2              # 应用参数
    
  2. 在代码中设置(仅部分参数生效,如名称、内存):

    import org.apache.spark.sql.SparkSessionval spark = SparkSession.builder().appName("MySparkApp") // 应用名称.config("spark.driver.memory", "2g").config("spark.executor.memory", "4g").config("spark.executor.cores", "2").getOrCreate()
    
  3. 通过spark-defaults.conf设置(默认值,可被命令覆盖):

    spark.app.name                   MySparkApp
    spark.driver.memory              2g
    spark.executor.memory            4g
    spark.executor.cores             2
    

注意

  • 资源参数(内存、核数)需根据集群实际容量调整,避免超过集群限制。
  • num-executors仅在YARN模式有效,Standalone模式通过total-executor-cores控制总核数。
  • 应用名称会显示在Spark UI和集群管理器(如YARN)中,便于识别。

76. 什么是Spark的历史服务器(History Server)?如何配置和使用?

Spark历史服务器(History Server) 用于持久化和展示已完成的Spark应用程序日志和统计信息,弥补实时UI(4040端口)在应用结束后关闭的不足。

配置步骤

  1. 配置存储路径

    • spark-defaults.conf中指定日志存储目录(通常为HDFS路径,确保所有节点可访问):
      spark.eventLog.enabled           true                   # 启用事件日志
      spark.eventLog.dir               hdfs:///spark/eventLogs  # 日志存储路径(HDFS或本地)
      spark.history.fs.logDirectory    hdfs:///spark/eventLogs  # 历史服务器读取日志的路径
      
  2. 配置历史服务器端口(可选):

    • spark-env.sh中设置WebUI端口(默认18080):
      export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080"
      
  3. 启动历史服务器

    $SPARK_HOME/sbin/start-history-server.sh
    
  4. 访问历史服务器

    • 打开浏览器访问http://history-server-host:18080,查看所有已完成的应用日志。
  5. 停止历史服务器

    $SPARK_HOME/sbin/stop-history-server.sh
    

使用场景

  • 分析已完成应用的性能瓶颈(如查看Stage、Task详情)。
  • 排查失败应用的错误日志。
  • 审计应用资源使用情况。

注意:需确保spark.eventLog.dir目录存在且有写入权限(如hdfs dfs -mkdir -p /spark/eventLogs)。

77. Spark与Hadoop的兼容性如何?需要注意哪些配置?

Spark与Hadoop兼容性良好,可无缝集成HDFS、YARN和Hive,但需注意版本匹配和配置细节:

  1. 版本兼容性

    • Spark官方对Hadoop的支持版本通常为Hadoop 2.7+和3.x(如Spark 3.4支持Hadoop 2.7-3.3)。
    • 避免使用跨大版本组合(如Spark 3.x + Hadoop 1.x,可能存在API不兼容)。
    • 查看Spark官网的“Downloads”页面获取具体版本兼容表。
  2. 关键配置

    • HDFS集成:无需额外配置,Spark默认使用Hadoop的core-site.xmlhdfs-site.xml访问HDFS。
    • YARN集成
      • 配置HADOOP_CONF_DIR指向Hadoop配置目录:
        export HADOOP_CONF_DIR=/etc/hadoop/conf
        
      • 确保YARN的yarn.resourcemanager.hostname等参数正确配置。
    • 依赖包
      • 下载预编译的Spark版本(如spark-3.4.0-bin-hadoop3.tgz),避免手动编译。
      • 若需自定义Hadoop版本,需重新编译Spark并指定Hadoop版本:
        ./dev/make-distribution.sh --name custom-spark --tgz -Phadoop-3.3
        
  3. 注意事项

    • YARN的资源隔离:确保YARN的yarn.nodemanager.resource.memory-mbyarn.scheduler.maximum-allocation-mb足够分配Spark的Executor内存。
    • HDFS权限:Spark应用需有HDFS路径的读写权限(如输出目录、事件日志目录)。
    • 加密配置:若Hadoop启用了Kerberos认证,需为Spark配置相应的安全凭证(如spark.yarn.keytabspark.yarn.principal)。

78. 如何在Spark中集成Hive?

Spark集成Hive可实现访问Hive表、使用HiveQL和共享Hive元数据,步骤如下:

  1. 环境准备

    • 已安装Hive并配置Metastore(支持本地Derby或远程MySQL/PostgreSQL)。
    • 确保Spark与Hive版本兼容(如Spark 3.x兼容Hive 2.3+)。
  2. 配置Hive元数据

    • 将Hive的配置文件(hive-site.xml)复制到Spark的conf目录:
      cp $HIVE_HOME/conf/hive-site.xml $SPARK_HOME/conf/
      
    • hive-site.xml中需正确配置Metastore地址(如远程Metastore):
      <property><name>hive.metastore.uris</name><value>thrift://hive-metastore-host:9083</value>
      </property>
      
  3. 添加Hive依赖

    • Spark默认包含Hive支持(-Phive-Phive-thriftserver模块),无需额外安装。
    • 若使用自定义编译的Spark,需确保编译时包含Hive模块。
  4. 验证集成

    • 启动Spark Shell(自动加载Hive配置):
      spark-shell --master yarn
      
    • 在Spark中访问Hive表:
      // 查看Hive数据库
      spark.sql("show databases").show()// 读取Hive表
      val df = spark.table("default.user")
      df.show()// 创建Hive表
      spark.sql("create table if not exists spark_hive_test (id int, name string)")
      
  5. 启动Thrift Server(可选)

    • 允许通过JDBC/ODBC访问Spark SQL(兼容HiveServer2):
      $SPARK_HOME/sbin/start-thriftserver.sh --master yarn
      
    • 使用Beeline连接:
      beeline -u jdbc:hive2://localhost:10000 -n username
      

注意:若Hive启用了Kerberos,需在spark-env.sh中配置相应的安全参数。

79. 如何在Spark中配置日志级别?

Spark的日志级别控制(如DEBUG、INFO、WARN、ERROR)可通过以下方式配置,用于减少冗余日志或调试问题:

  1. 通过log4j2.properties配置(全局默认)

    • 复制模板文件并修改:
      cp $SPARK_HOME/conf/log4j2.properties.template $SPARK_HOME/conf/log4j2.properties
      
    • 编辑log4j2.properties,设置根日志级别或特定类的日志级别:
      # 根日志级别(默认INFO)
      rootLogger.level = WARN# 特定类的日志级别(如Spark SQL)
      logger.org.apache.spark.sql.name = org.apache.spark.sql
      logger.org.apache.spark.sql.level = INFO# Spark Core的日志级别
      logger.org.apache.spark.name = org.apache.spark
      logger.org.apache.spark.level = ERROR
      
    • 生效范围:所有Spark应用(需重启Spark服务或重新提交应用)。
  2. 在代码中动态设置(针对当前应用)

    import org.apache.log4j.{Level, Logger}// 设置Spark核心日志级别为WARN
    Logger.getLogger("org.apache.spark").setLevel(Level.WARN)// 设置Spark SQL日志级别为ERROR
    Logger.getLogger("org.apache.spark.sql").setLevel(Level.ERROR)// 设置Hadoop相关日志级别为ERROR
    Logger.getLogger("org.apache.hadoop").setLevel(Level.ERROR)
    
    • 生效范围:仅当前应用,不影响其他应用。
  3. 通过spark-submit命令临时设置

    spark-submit \--conf "spark.driver.extraJavaOptions=-Dlog4j.configuration=file:/path/to/custom-log4j2.properties" \--conf "spark.executor.extraJavaOptions=-Dlog4j.configuration=file:/path/to/custom-log4j2.properties" \...
    
    • 适用于临时覆盖默认日志配置,无需修改全局文件。

常见日志级别(从低到高):TRACE < DEBUG < INFO < WARN < ERROR < FATAL。生产环境通常用WARN或ERROR减少日志量,调试时用DEBUG或INFO。

80. Spark应用程序提交的命令(spark-submit)的常用参数有哪些?

spark-submit是提交Spark应用的统一命令,常用参数按功能分类如下:

  1. 集群与部署模式

    • --master <url>:指定集群管理器(如yarnspark://master:7077local[*])。
    • --deploy-mode <mode>:部署模式(clientcluster,默认client)。
    • --queue <queue-name>:YARN队列名称(默认default)。
  2. 应用基本信息

    • --name <name>:应用名称(显示在UI中)。
    • --class <class-name>:主类全路径(如org.apache.spark.examples.SparkPi)。
    • --jars <paths>:依赖的额外JAR包(逗号分隔)。
    • --packages <packages>:Maven坐标的依赖包(如org.apache.hadoop:hadoop-aws:3.3.1)。
  3. 资源配置

    • --driver-memory <memory>:Driver内存(如2g,默认1g)。
    • --driver-cores <cores>:Driver核数(仅YARN cluster模式有效,默认1)。
    • --executor-memory <memory>:每个Executor内存(如4g,默认1g)。
    • --executor-cores <cores>:每个Executor的核数(YARN/Standalone模式,默认1)。
    • --num-executors <num>:Executor总数(仅YARN模式,默认2)。
    • --total-executor-cores <num>:所有Executor的总核数(仅Standalone模式)。
  4. 配置参数

    • --conf <key=value>:设置Spark配置参数(如spark.sql.shuffle.partitions=200)。
    • --properties-file <file>:指定配置文件(默认spark-defaults.conf)。
  5. 示例

    spark-submit \--master yarn \--deploy-mode cluster \--name "UserAnalysis" \--class com.example.UserAnalysis \--driver-memory 2g \--executor-memory 4g \--executor-cores 2 \--num-executors 10 \--conf spark.sql.shuffle.partitions=200 \--jars /path/to/mysql-connector.jar \user-analysis.jar \2023-01-01 2023-01-31
    

注意:参数需在应用JAR包和应用参数之前指定,不同集群管理器支持的参数略有差异(如num-executors仅YARN有效)。

二、100道Spark面试题目录列表

文章序号Spark 100道
1Spark面试题及答案100道(01-10)
2Spark面试题及答案100道(11-20)
3Spark面试题及答案100道(21-30)
4Spark面试题及答案100道(31-44)
5Spark面试题及答案100道(41-55)
6Spark面试题及答案100道(56-70)
7Spark面试题及答案100道(71-80)
8Spark面试题及答案100道(81-90)
9Spark面试题及答案100道(91-100)

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

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

相关文章

Redis 面试

1、主从集群1、构建主从集群单节点Redis的并发能力是有上限的&#xff0c;要进一步提高Redis的并发能力&#xff0c;就需要搭建主从集群&#xff0c;实现读写分离。主写从读&#xff0c;主可以读也可以写&#xff0c;从只能读利用docker-compose文件来构建主从集群&#xff1a;…

如何使用PostgreSQL数据库进行数据挖掘与预测分析

如何使用PostgreSQL数据库进行数据挖掘与预测分析 关键词:PostgreSQL,数据挖掘,预测分析,数据库,机器学习 摘要:本文旨在深入探讨如何利用PostgreSQL数据库进行数据挖掘与预测分析。首先介绍了使用PostgreSQL进行此类操作的背景信息,包括目的、预期读者、文档结构等。接…

ZooKeeper vs Redis:分布式锁的实现与选型指南

一、Redis 分布式锁&#xff1a;追求极致的性能 Redis 分布式锁基于内存操作&#xff0c;其核心思想是在内存中设置一个唯一的键值对来表示锁的持有。 1. 基础实现&#xff08;SETNX Lua&#xff09; 最简单的实现是使用 SETNX&#xff08;SET if Not eXists&#xff09;命令&…

vue基于Springboot框架的考研咨询平台系统实现

目录前言-本系统介绍已开发项目效果实现截图开发技术详细介绍核心代码参考示例1.建立用户稀疏矩阵&#xff0c;用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码获取详细视频演示或者查看其他版本&#xff1a;文章底部获取博主联系方式&…

苹果用户速更新!macOS存严重漏洞,用户隐私数据面临泄露风险

漏洞概况近日&#xff0c;macOS系统发现一个CVSS评分高达 9.8 的高危漏洞&#xff0c;该漏洞可能允许应用程序绕过系统保护机制&#xff0c;非法访问受保护的用户数据。该漏洞编号为 CVE-2025-24204&#xff0c;目前已有概念验证&#xff08;PoC&#xff09;代码公开。漏洞影响…

海盗王64位dx9客户端修改篇之五

在海盗王3.0客户都升级64位dx9版本的过程中&#xff0c;因为特效的问题&#xff0c;被卡壳了很久。 开始是精灵草的粒子效果、白银城的烟囱烟雾效果、篝火的效果、阳光透射效果、海浪效果等&#xff0c;修了很长的时间&#xff0c;才找到窍门弄好。 然后是精灵效果、角色阴影。…

Linux学习——管理网络安全(二十一)

一、管理服务器防火墙&#xff08;firewalld&#xff09;RHEL 默认使用 firewalld 作为防火墙管理工具&#xff0c;它通过 “区域&#xff08;zone&#xff09;” 和 “服务&#xff08;service&#xff09;” 的概念简化规则配置&#xff0c;支持动态更新规则而无需重启服务。…

leetcode-python-1941检查是否所有字符出现次数相同

题目&#xff1a; 给你一个字符串 s &#xff0c;如果 s 是一个 好 字符串&#xff0c;请你返回 true &#xff0c;否则请返回 false 。 如果 s 中出现过的 所有 字符的出现次数 相同 &#xff0c;那么我们称字符串 s 是 好 字符串。 示例 1&#xff1a; 输入&#xff1a;s “…

Snort的介绍

当然可以。以下是对 Snort 的全面介绍&#xff0c;涵盖其定义、核心功能、三种运行模式、工作原理、规则系统以及应用场景等内容。 Snort 网络入侵检测系统&#xff08;NIDS&#xff09;详解 一、Snort 简介 Snort 是一款开源的、轻量级但功能强大的 网络入侵检测与防御系统&…

滴滴二面准备(一)

结合你的简历内容和技术面试问题&#xff0c;以下是一个结构化的回答建议&#xff0c;突出你的技术深度和项目经验&#xff1a;2. 项目与实习经历 得物低代码落地页编辑器&#xff08;核心项目&#xff09; 背景&#xff1a;解决软广落地页开发周期长、迭代慢问题。技术方案&am…

socket通信在Windows和Linux上的区别

前言 笔者在将socket通信的自定义类从Linux移植到Windows时遇到一些问题&#xff0c;整理下来希望帮助到需要的人&#xff0c;同时也加深自己的理解。 差异 头文件 #ifdef _WIN32 #include <ws2tcpip.h> #define inet_pton InetPton #define SHUT_RDWR SD_BOTH #define M…

一款将PDF转化为机器可读格式的工具介绍

ps:以下内容来自MinerU项目 MinerU 项目简介 MinerU是一款将PDF转化为机器可读格式的工具&#xff08;如markdown、json&#xff09;&#xff0c;可以很方便地抽取为任意格式。 MinerU诞生于书生-浦语的预训练过程中&#xff0c;我们将会集中精力解决科技文献中的符号转化问…

代码随想录算法训练营第三十九天|62.不同路径 63.不同路径ll

62.不同路径&#xff1a; 文档讲解&#xff1a;代码随想录|62.不同路径 视频讲解&#xff1a;https://www.bilibili.com/video/BV1ve4y1x7Eu 状态&#xff1a;已做出 一、题目要求&#xff1a; 一个二维数组里&#xff0c;将(0&#xff0c;0)位置下标作为起点&#xff0c;计算…

openEuler2403安装部署Prometheus和Grafana

文章目录openEuler2403安装部署Prometheus和Grafana一、前言1.简介2.环境二、正文1.环境准备1&#xff09;JDK 安装部署&#xff08;可选&#xff09;2&#xff09;关闭防火墙2.安装 Prometheus1&#xff09;下载和安装2&#xff09;启动3&#xff09;systemd服务管理3.安装 Gr…

乐吾乐大屏可视化组态软件【SQL数据源】

乐吾乐大屏可视化组态软件&#xff08;大屏可视化设计器 - 乐吾乐Le5le&#xff09;支持直接对接SQL数据源功能&#xff0c;目前仅对企业源码客户开放。 配置SQL数据源 管理员进入可视化管理中心&#xff0c;点击SQL数据源&#xff0c;配置添加SQL数据源。 创建SQL数据源连接 …

Django高效查询:values_list实战详解

Django 实战案例 讲解 values_list 的用法。 values_list("field", flatTrue) → 获取单字段的一维列表。values_list("f1", "f2") → 获取多个字段&#xff0c;返回元组。搭配 filter / distinct / in / 外键查询 非常高效。适合用于 导出数据 …

Java数据结构——树

一、树型结构1.1 概念我们之前提到的数组&#xff0c;单链表&#xff0c;栈和队列都是一种线性结构&#xff0c;每个元素都有最多一个后继节点。而树型结构是一种非线性结构&#xff0c;它是由n&#xff08;n>0&#xff09;节点组成的一个具有层次关系的集合。它之所以叫做树…

基于LLM的月全食时空建模与智能预测:从天文现象到深度学习融合

当古老的天文学遇上现代人工智能,会碰撞出怎样的火花? 一、当月球遇见AI 月全食,这一令人惊叹的天文现象,自古以来就吸引着无数天文学家和爱好者的目光。当地球恰好运行到太阳和月球之间,完全遮挡太阳光时,我们就能目睹月球逐渐被"吞噬"然后又重焕光彩的奇妙…

LeetCode热题 42.接雨水

题目 思路&#xff1a; 通过画图观察我们其实可以很容易发现&#xff0c;每个柱子接多少水由这个地方左边最高的柱子和右边最高的柱子确定&#xff0c;因为总要形成一个坑嘛&#xff0c;然后就能接着确定&#xff1a; 当前柱子接水量 min(左边最高柱子的高度, 右边最高柱子的…

PostgreSQL与Greenplum数据库的编程语言连接

编程语言连接数据库 目前数据库一般支持HA的连接&#xff0c;即一个Coordinator内的一个节点异常后会链接到另外的一个节点&#xff0c;不会影响业务的正常运行。在JDBC配置时需要采用 高可用链接字符串(Connection URL/DSN) 的方式连接。适用于不同的编程语言中使用&#xff…