mac安装hive_20230609

news2025/3/15 0:59:54

竟然是今年第一篇
hhhh
过两天把上半年的东西梳理好的话
陆续放上来吧~
公司本地测试环境的hive版本不支持不等式关联操作,而现在用hive也比较多,所以在本地装了一个hive,主要写一下大致步骤和过程中遇到的问题~🐣🐣🐣
并详细记录一下后续启动hive服务时的操作

主要分为四大步:

文章目录

        • 安装mysql
          • 1. 版本查看
          • 2.安装
        • 安装hadoop
          • 1.安装JDK
          • 2.启动共享SSH服务
          • 3.安装brew(视情况而定)
          • 4.安装hadoop
          • 5.配置hadoop文件
          • 6.启动hadoop服务
        • 安装hive
          • 1. hive下载&配置路径
          • 2.创建元数据库
          • 3.配置hive-site.xml
        • 启动hive服务
        • 参考链接

安装mysql

因为是新机子,还没有配过,所以从安装mysql开始。

1. 版本查看

需要查看macos版本对应的mysql版本(关键)

前面一直下的版本不对,显示安装成功,但页面内鼠标一直转圈,好像卡住了一样

需要先查看macos版本
桌面左上角——🍎——关于本机——查看
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gytyvQ2p-1686564408307)(evernotecid://4A2C0413-3745-487E-BADD-865195851786/appyinxiangcom/25370018/ENResource/p11384)]

然后,在官网查看对应的版本

我没找到官网对应的版本列表链接,直接用新必应查的😂
在这里插入图片描述

2.安装

下载好后一路安装即可

什么都不用选,可以参考这个链接
Mysql for Mac(M1)安装指南 (qq.com)
记得记住密码!!!
安装完毕后测试一下
在这里插入图片描述
在这里插入图片描述

也可以配置到本地有的可视化编辑器,进行查看
在这里插入图片描述

至此,mysql就安装完毕了

安装hadoop

1.安装JDK

可以直接参考:https://mp.weixin.qq.com/s/wLW0qDyMbgEBCv22wWitow

官网地址:https://www.oracle.com/java/technologies/downloads/#jdk20-mac

选择合适的版本

bash_profile配置可以参考

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH 
2.启动共享SSH服务

输入ssh localhost,如果提示错误,则

可以直接参照刚才这个链接里的步骤启动
https://blog.csdn.net/qq_20042935/article/details/123007927

如果没办法用界面打开,也可以使用命令行直接启动
开启:

sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

启动后共享界面也显示打开状态

在这里插入图片描述

关闭:

sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist

然后设置ssh免密码登陆

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

如果没有~/.ssh文件,就新建一个,生成新的密钥,再执行上述操作

klz@klzdeMacBook-Pro ~ % mkdir ~/.ssh
klz@klzdeMacBook-Pro ~ %  cd ~/.ssh 

klz@klzdeMacBook-Pro .ssh % ssh-keygen -t rsa -C "{email@**.com}
3.安装brew(视情况而定)

可以使用brew安装的,可以安装brew后,使用brew来安装hadoop和hive。我这边因为os版本问题,brew安装一直有一个包无法下载,所以最后是手动下载hadoop和hive安装包下载的。

brew安装:
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
按回车后,根据提示操作:输入镜像序号 --> 输入Y,回车等待brew安装完成即可。

4.安装hadoop
  1. 法一

brew install hadoop
可能遇到的问题:
中途下载文件报错:curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused

解决方案参考:
https://www.debugpoint.com/failed-connect-raw-githubusercontent-com-port-443/

Open the /etc/hosts file.

sudo nano /etc/hosts

添加这一行在最后
85.199.108.133 raw.githubusercontent.com
保存后重新运行 brew install hadoop就可以了

  1. 法二

因为mac版本问题,后面一个安装包始终装不上(如果上面brew可以,就不用下载安装包进行安装了)

所以直接下载了hadoop安装包

# 新建目录,存放安装的hadoop应用mkdir Users/baihe/App

# 新建目录,存放应用的数据文件mkdir Users/baihe/Data/

tar -zxvf hadoop-2.7.3.tar.gz -C /Users/baihe/App

添加环境变量

vim ~/.bash_profile

# hadoop
export HADOOP_HOME=/Users/baihe/App/hadoop-2.7.3
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

退出编辑模式,使用 :wq 保存修改,然后运行 source 命令使文件中的修改立即生效:

source ~/.bash_profile

配置好环境后,可输入hadoop version进行查看
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iKtiRpnA-1686564408316)(evernotecid://4A2C0413-3745-487E-BADD-865195851786/appyinxiangcom/25370018/ENResource/p11390)]

5.配置hadoop文件

需要配置的文件:

  • hadoop-env.sh
  • core-site.xml
  • hdfs-site.xml
  • mapred-site.xml
  • yarn-site.xml

都是在configure内部进行辩解,粘贴property属性。

可以按照这个链接里的示例对上述文件进行编辑。
https://mp.weixin.qq.com/s/F-X9ph1g009qDWfmac7u2g

注意:
上面链接里core-site.xml部分的有问题。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LZhtX94T-1686564408316)(evernotecid://4A2C0413-3745-487E-BADD-865195851786/appyinxiangcom/25370018/ENResource/p11391)]

全部配置好之后

再运行 sudo hadoop namenode -format进行namenode格式化(我加了sudo,不然添加、删除一个current文件时会一直报错)

成功后
在这里插入图片描述

6.启动hadoop服务

进入刚才的目录 /Users/本地存放文件夹/App/hadoop……/sbin文件内
执行./start-all.sh

执行命令后,提示出入 yes/no 时,输入 yes 启动所有的 hadoop 服务,包括 hdfs 和 yarn服务

查看进程是否启动
在 Hadoop 的终端执行 jps 命令,在打印结果中会看到 5 个进程,分别是 namenode、 secondarynamenode、datanode、resourcemanager、nodemanager, 如下图所示。如果出现 了这 5 个进程表示主节点进程启动成功。
在这里插入图片描述

在这里可能会遇到的问题:
a. 刚才ssh免密登陆配置的有问题
和ssh publickey相关的,忘了截报错的图了……

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

ssh localhost或者ssh 本地ip  查看是否配置成功(如果本地ip不行的话,可能要在hosts文件里面加一下ip)

b. localhost permission denied(使用sudo启动的话,可能会报 localhost: Disconnected from ::1 port 22)

需要设置一些文件夹权限(给最外层的文件夹循环赋权)
sudo chmod -R 777 /Users/kimdata

(我这里kimdata下一层就是刚才建的App和Data目录。)

设置正确应该就能正确启动了,
可以网页打开http://localhost:50070/,以及http://localhost:18088/;检查 namenode 和 datanode 是否正常,检查 Yarn 是否正常。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w6Dg8UlE-1686564408318)(evernotecid://4A2C0413-3745-487E-BADD-865195851786/appyinxiangcom/25370018/ENResource/p11394)]

安装hive

1. hive下载&配置路径

hive下载地址:http://archive.apache.org/dist/hive/

下载时需要注意,hive的版本需要和hadoop的版本对应一下,
对应链接可以参考:https://blog.csdn.net/tiankong_12345/article/details/80393774

下载好后解压到对应文件夹,配置对应路径 open ~/.bash_profile

export HIVE_HOME=/usr/local//hive # 刚才放置hive的目录,下一层是bin文件夹
export PATH=$HIVE_HOME/bin:$PATH

完毕后,source ~/.bash_profile,输入hive验证是否正常安装
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3JbfbQEP-1686564408319)(evernotecid://4A2C0413-3745-487E-BADD-865195851786/appyinxiangcom/25370018/ENResource/p11395)]

2.创建元数据库

在mysql里创建,
mysql -u root -p进入mysql,
执行
create database metastore
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w38nI5Vh-1686564408320)(evernotecid://4A2C0413-3745-487E-BADD-865195851786/appyinxiangcom/25370018/ENResource/p11396)]

3.配置hive-site.xml

需要更改的地方如下,ctrl+f “更改”找到对应地方替换,
其余地方直接粘贴过去。

<configuration>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://localhost/metastore</value>
    </property>

    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.cj.jdbc.Driver</value>
    </property>
  <!--mysql用户名-->
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>更改mysql的用户名</value>
    </property>
  <!--mysql密码-->
  <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>更改mysql的密码</value>
    </property>

 <!-- hive用来存储不同阶段的map/reduce的执行计划的目录,同时也存储中间输出结果,
,默认是/tmp/<user.name>/hive,我们实际一般会按组区分,然后组内自建一个tmp目录存>储 -->

    <property>  <name>hive.exec.local.scratchdir</name>
        <value>/tmp/hive</value>
    </property>

    <property>
        <name>hive.downloaded.resources.dir</name>
            <value>/tmp/hive</value>
    </property>

    <property>

       <name>hive.metastore.warehouse.dir</name>
        <value>/user/hive/warehouse</value>
    </property>

    <property>
        <name>hive.server2.logging.operation.log.location</name>
        <value>/tmp/hive</value>
    </property>
<property>
     <name>datanucleus.autoCreateSchema</name>
     <value>false</value>
     <description>Creates necessary schema on a startup if one doesn't exist
     </description>
</property>
<!--自定义远程连接用户名和密码-->
<property>
    <name>hive.server2.thrift.client.user</name>
    <value>这里可以更改用户名</value>
    <description>Username to use against thrift client</description>
  </property>
  <property>
    <name>hive.server2.thrift.client.password</name>
    <value>更改密码</value>
    <description>Password to use against thrift client</description>
  </property>
<!-- hive server2的使用端口,默认就是10000-->
<property>
        <name>hive.server2.thrift.port</name>
        <value>10000</value>
</property>

<!-- hive server2绑定的主机名-->
<property>
  <name>hive.server2.thrift.bind.host</name>
  <value>localhost</value>
</property>
<property>
        <name>hive.server2.enable.doAs </name>
        <value>false</value>
</property>
<property>
    <name>hive.server2.active.passive.ha.enable</name>
    <value>true</value>
    <description>Whether HiveServer2 Active/Passive High Availability be enabled when Hive Interactive sessions are enabled.This will also require hive.server2.support.dynamic.service.discovery to be enabled.</description>
</property>      

配置好后,
在https://dev.mysql.com/downloads/connector/j/mysql-connector,下载mysql连接器,选platform independent的操作系统。解压以后,把jar文件复制到/usr/local/hive/lib(hive的lib)目录下面。

命令行输入schematool -dbType mysql -initSchema ,再次打开hive,show databases;成功运行输出结果则安装成功。

启动hive服务

在hive的bin目录下,

hive --service metastore &
hive --service hiveserver2 &

或者后台长时间运行

nohup hive --service metastore 2>/usr/data/hive/log/metastore/metastore.err &
#或者
nohup hive --service metastore >/usr/data/hive/log/metastore/metastore.log &

查看服务

ps -ef|grep hive 查看服务
jps  # 有两个runjar则okk
lsof -i tcp:9083  查看端口
lsof -i tcp:10000  查看端口

hive log日志的地址(启动服务时的报错可以在里面查看):
/System/Volumes/Data/private/var/folders/6r/xjdj2nb17zxb1jcg3zdc7yc80000gn/T/klz
(搜索hive_log可以找到)

确保hiveserver2正常启动(也可以查看10000端口是否正常)
然后启动beeline
命令行直接输入beeline
!connect jdbc:hive2://localhost:10000
然后不用输入密用户名和密码,直接按enter
正常启动,则OK了
!quit退出beeline

可以打开dbeaver连接本地hive,配置如图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8DvnmBXx-1686564408320)(evernotecid://4A2C0413-3745-487E-BADD-865195851786/appyinxiangcom/25370018/ENResource/p11397)]

驱动选择jdbc里的jar包
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fSVZYmm2-1686564408321)(evernotecid://4A2C0413-3745-487E-BADD-865195851786/appyinxiangcom/25370018/ENResource/p11398)]

即可正常连接😭😭😭😭😭(太不容易了)


开启hive服务:

  • 开启ssh共享
    • 开启/关闭:
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist
  • 开启hadoop
    • 格式化(hadoop namenode -format)
    • 在本地存放文件夹/App/hadoop……/sbin文件内,执行start-all.sh(关闭是stop-all.sh)
  • 开启hive服务
    • 在hive的bin目录下
      (/Users/hive_file/App/apache-hive-2.3.3-bin/bin)
hive --service metastore &
hive --service hiveserver2 &

或者

nohup hive --service metastore 2>/usr/data/hive/log/metastore/metastore.err &
#或者
nohup hive --service metastore >/usr/data/hive/log/metastore/metastore.log &
  • 关闭hive/hadoop服务
    查看服务
ps -ef|grep hive 查看服务
jps  # 有两个runjar则okk
lsof -i tcp:9083  查看端口
lsof -i tcp:10000  查看端口

然后 kill -9 pid号

参考链接

https://mp.weixin.qq.com/s/F-X9ph1g009qDWfmac7u2g

Mac下安装Hadoop_mac安装hadoop_杨林伟的博客-CSDN博客

https://yanglinwei.blog.csdn.net/article/details/109644326

https://discussionschinese.apple.com/thread/254489986

https://blog.csdn.net/muyimo/article/details/125211460

https://www.5axxw.com/questions/simple/k93qak

https://mp.weixin.qq.com/s/F-X9ph1g009qDWfmac7u2g (安装包安装hadoop)

https://blog.csdn.net/sinat_35821976/article/details/99939757

https://blog.csdn.net/tktttt/article/details/110088179


后面插入数据的时候一直报错:
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. Error caching map.xml: org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /tmp/hive/klz/8030d5ba-e55b-4ba0-b320-b7206685bd44/hive_2023-06-12_15-02-08_865_3712841866218528734-5/-mr-10003/cb4a1b04-b611-4ba6-943b-6c457ab81228/map.xml could only be replicated to 0 nodes instead of minReplication (=1). There are 0 datanode(s) running and no node(s) are excluded in this operation.

我不确定是怎么解决的了

可能是:

  • 删除dadoop里的Data/tmp/下面的current文件夹,然后重新格式化namenode format,然后重启hive服务
  • 也可能是改了yarn-site.xml文件,添加了
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>3.0</value>
</property>

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

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

相关文章

win10任务栏卡死解决

现象&#xff1a; win10 更新后&#xff0c;开机任务栏卡死&#xff0c;点开始反应&#xff0c;设置页面无法打开。 原因&#xff1a; 原因是Win10更新的任务栏资讯和兴趣&#xff0c;而资讯和兴趣是Edge浏览器的&#xff0c;该服务器是在国外&#xff0c;国内的网络加载不出来…

【lvs集群】HAProxy搭建Web集群

HAProxy搭建Web集群 一、 HAProxy简介1.1HAProxy主要特性1.2HAProxy负载均衡策略非常多&#xff0c;常见的有如下8种1.3LVS、Nginx、HAproxy的区别1.4常见的Web集群调度器 二、Haproxy搭建 Web 群集haproxy服务器部署节点服务器部署 三、定义监控页面与定义日志3.1定义监控页面…

stm32f103最小系统板详细介绍

一.什么是单片机最小系统 常见的单片机最小系统为单片机能独立运行程序及控制外围电路的最简单电路&#xff0c;主要由单片机、晶振电路、复位电路三部分构成。Stm32f103c8t6也不例外&#xff0c;构成最小的运行电路也需要以上三部分。 Stm32f103最小系统板原理图如下&#xf…

初始Sentinel(Sentinel的简单介绍及项目整合)

前言&#xff1a;大家好&#xff0c;我是小威&#xff0c;24届毕业生&#xff0c;在一家满意的公司实习。本篇文章将详细介绍Sentinel的概念&#xff0c;优点&#xff0c;与Hystrix的对比以及微服务中整合Sentinel&#xff0c;后续文章将详细介绍Sentinel的细节部分。 如果文章…

分享几个关于AI的网站

分享几个关于AI的网站 AI文本 ChatGPT&#xff1a;https://chat.openai.com/ NotionAI&#xff1a;https://www.notion.so/product/ai A.I. Data Sidekick&#xff1a;AI工具编写 SQL、文档等的速度提高10倍https://www.airops.com/ Writesonic&#xff1a;人工智能写作辅助工…

CSS基础学习--7 fonts字体

一、CSS 字体 CSS字体属性定义字体系列&#xff0c;加粗&#xff0c;大小&#xff0c;文字样式。 二、字体系列 font-family 属性设置文本的字体系列 font-family 属性应该设置几个字体名称作为一种"后备"机制&#xff0c;如果浏览器不支持第一种字体&#xff0c;…

Haproxy的应用

Taproxy 一、Haproxy的原理Haproxy的主要特性Haproxy八种负载均衡策略LVS、Nginx、Haproxy的区别 二、搭建web群集 一、Haproxy的原理 Haproxy是可提供高可用性&#xff0c;负载均衡以及基于TCP和HTTP应用的代理&#xff0c;是免费、快速并且可靠的一种解决方案。Haproxy非常适…

电脑提示vcruntime140_1.dll丢失怎么修复?

本修复教程操作系统&#xff1a;Windows系统 vcruntime140_1.dll是电脑文件中的dll文件&#xff08;动态链接库文件&#xff09;。如果计算机中丢失了某个dll文件&#xff0c;可能会导致某些软件和游戏等程序无法正常启动运行&#xff0c;并且导致电脑系统弹窗报错。 在我们打…

FPGA基础知识-模块和端口

目录 学习目标 学习内容 端口 端口列表 端口声明 端口链接规则 学习时间 总结 学习目标&#xff1a; 1.说明Verilog 模块定义中的各个组成部分&#xff0c;例如模块名、端口列表、参数、变址声明、数据流描述语句、行为语句、调用&#xff08;实例引用》其他模块以及任务…

Java网络开发(Filter过滤器)—— tomcat的过滤器 编码控制 + 网页权限控制

目录 引出1.过滤器简介2.用过滤器实现全局编码控制&#xff08;1&#xff09;导包import javax.servlet.*;&#xff08;2&#xff09;如果是tomcat8.5&#xff0c;要把3个方法都实现&#xff08;3&#xff09;代码如下&#xff0c;要点&#xff1a;放行&#xff0c;chain.doFil…

Bug小能手系列(python)_7: BertTokenizer报错 Connection reset by peer

ConnectionResetError: [Errno 104] Connection reset by peer 0. 错误介绍1. 解决思路1.1 添加代码 force_downloadTrue1.2 删除缓存1.3 科学上网1.4 线下下载 2. 解决方法2.1 清除缓存2.2 线下下载模型&#xff08;强烈建议&#xff09; 3. 总结 0. 错误介绍 当使用transfor…

4.将图神经网络应用于大规模图数据(Cluster-GCN)

到目前为止&#xff0c;我们已经为节点分类任务单独以全批方式训练了图神经网络。特别是&#xff0c;这意味着每个节点的隐藏表示都是并行计算的&#xff0c;并且可以在下一层中重复使用。 然而&#xff0c;一旦我们想在更大的图上操作&#xff0c;由于内存消耗爆炸&#xff0c…

【Python 生成器与迭代器】零基础也能轻松掌握的学习路线与参考资料

一、Python生成器与迭代器概述 Python是一种高级编程语言&#xff0c;其中非常重要的概念就是生成器和迭代器。Python生成器和迭代器联合使用&#xff0c;能够实现高效的迭代操作&#xff0c;避免增加额外的内存消耗&#xff0c;同时提高代码的可读性。Python中常见的生成器和…

单机多节点 elasticsearch 集群安全认证

es 版本&#xff1a;7.6.2 部署环境&#xff1a;CentOS Linux release 7.6.1810 (Core) 一&#xff1a;生成 ca 证书 cd 到 es 的安装目录&#xff0c;并执行下面的命令来生成 ca 证书&#xff1a; ./bin/elasticsearch-certutil ca Elasticsearch碰到第一个直接回车&#xf…

面试专题:Mysql

1.说说自己对于 MySQL 常见的两种存储引擎&#xff1a;MyISAM与InnoDB的理解 关于二者的对比与总结: 1.count运算上的区别&#xff1a;因为MyISAM缓存有表meta-data&#xff08;行数等&#xff09;&#xff0c;因此在做COUNT(*)时对于一个结构很好的查询是不需要消耗多少资源的…

[CKA]考试之K8s 版本升级

由于最新的CKA考试改版&#xff0c;不允许存储书签&#xff0c;本博客致力怎么一步步从官网把答案找到&#xff0c;如何修改把题做对&#xff0c;下面开始我们的 CKA之旅 题目为&#xff1a; Task 现有的Kubernetes 集群正在运行版本1.22.0。仅将master节点上的所有 Kuberne…

【Python】集合 set ② ( 集合常用操作 | 集合中添加元素 | 集合中移除元素 | 集合中随机取出元素 )

文章目录 一、集合中添加元素二、集合中移除元素三、集合中随机取出元素 在 Python 中 , 集合 set 是无序的 , 因此 集合 数据容器 不支持 使用 下标索引 访问 集合元素 ; 一、集合中添加元素 调用 集合#add(新元素) 函数 , 可以将新元素添加到 集合 数据容器中 ; 集合添加元素…

Vue- ref属性

ref属性 被用来给元素或者子组件注册引用信息&#xff08;id的替代者&#xff09; 通过案例来演示_ref属性 1 编写案例 如图&#xff1a;有一个按钮&#xff0c;点击按钮可以输出dom元素 备注&#xff1a;虽然vue不用我们亲自操作dom&#xff0c;但是有的特殊的情况下就要…

【2023华中杯】B题 小学教学应用题 相似性度量及难度评估 29页论文及MATLAB代码

1 题目 B 题 小学数学应用题相似性度量及难度评估 某 MOOC 在线教育平台希望能够进行个性化教学&#xff0c;实现用户自主学习。在用户学习时&#xff0c;系统从题库中随机抽取若干道与例题同步的随堂测试题&#xff0c;记录、分析学生的学习和答题信息&#xff0c;并且课后会自…

【Pytest实战】解决ModuleNotFoundError: No module named ‘pytest’问题

&#x1f604;作者简介&#xff1a; 小曾同学.com,一个致力于测试开发的博主⛽️&#xff0c;主要职责&#xff1a;测试开发、CI/CD 如果文章知识点有错误的地方&#xff0c;还请大家指正&#xff0c;让我们一起学习&#xff0c;一起进步。&#x1f60a; 座右铭&#xff1a;不想…