本任务需要使用root用户完成相关配置,具体要求如下:
1、 从宿主机/opt目录下将maven相关安装包复制到容器Master中的/opt/software(若路径不存在,则需新建)中,将maven相关安装包解压到/opt/module/目录下(若路径不存在,则需新建)并配置maven本地库为/opt/software/RepMaven/,远程仓库使用阿里云镜像,配置maven的环境变量,并在/opt/下执行mvn -v,将运行结果截图粘贴至客户端桌面【Release\任务A提交结果.docx】中对应的任务序号下;
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
首先我们需要使用docker cp
先将软件拷贝到master容器内
docker cp apache-maven-3.6.3-bin.tar.gz master:/opt/software/
接下来进入到master容器内解压安装包
进入命令:docker exec -it master(或者容器ID) bash
tar命令解压参数可使用–help查看 ,-C 代表最终解压的目录
tar -zxvf /opt/software/apache-maven-3.6.3-bin.tar.gz -C /opt/module/
找到maven安装目录下的conf文件夹,修改settings.xml文件,添加阿里云镜像
2、 从宿主机/opt目录下将Hudi相关安装包复制到容器Master中的/opt/software(若路径不存在,则需新建)中,将Hudi相关安装包解压到/opt/module/目录下(若路径不存在,则需新建),将命令复制并粘贴至客户端桌面【Release\任务A提交结果.docx】中对应的任务序号下;
该题需要我们搭建hudi的环境,首先我们需要搭建hadoop的环境,然后搭建spark的环境,最后搭建hudi的环境
hudi安装包下载地址:https://hudi.apache.org/releases/download/
首先我们需要使用docker cp
先将软件拷贝到master容器内
docker cp hudi-0.12.0.src.tgz master:/opt/software/
接下来进入到master容器内解压安装包
进入命令:docker exec -it master(或者容器ID) bash
tar命令解压参数可使用–help查看 ,-C 代表最终解压的目录
tar -zxvf /opt/software/hudi-0.12.0.src.tgz -C /opt/module/
3、 完成解压安装及配置后使用maven对Hudi进行构建(spark3.1,scala-2.12),编译完成后与Spark集成,集成后使用spark-shell操作Hudi,将spark-shell启动使用spark-shell运行下面给到的案例,并将最终查询结果截图粘贴至客户端桌面【Release\任务A提交结果.docx】中对应的任务序号下。
(提示:编译需要替换以下内容:
1.将父模块pom.xml替换;
2.hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieParquetDataBlock.java替换;
3.将packaging/hudi-utilities-bundle/pom.xml替换
将packaging/hudi-spark-bundle/pom.xml替换)
import org.apache.hudi.QuickstartUtils._
import scala.collection.JavaConversions._
import org