- Spark从入门到熟悉(篇二)
本文介绍Spark的RDD编程,并进行实战演练,加强对编程的理解,实现快速入手知识脉络包含如下8部分内容:创建RDD常用Action操作常用Transformation操作针对PairRDD的常用操作缓存操作共享变量分区操作编程实战创建RDD实现方式有如下两种方式实现:textFile加载本地或者集群文件系统中的数据用parallelize方法将Driver中的数据结构并行化成RDD示例"""te
- Hive 深度优化指南:从原理到实战,附完整代码解析
落辰010
hivehadoop数据仓库
在大数据处理领域,Hive凭借其强大的数据处理能力和SQL友好性,成为众多企业处理海量数据的首选工具。然而,随着数据量的不断增长,Hive的性能问题逐渐凸显。本文将从表设计、查询执行、资源管理等多个维度,深入探讨Hive优化的方法和技巧,并通过具体代码示例进行详细说明,帮助你显著提升Hive的运行效率。一、表设计优化1.1选择合适的存储格式Hive支持多种存储格式,如TextFile、ORC、Pa
- Hive的TextFile格式优化方法
安审若无
Hive性能优化及调优hivehadoop数据仓库
Hive的TextFile格式是一种简单的行式存储格式,数据以文本行形式存储,每行包含多个字段,字段间通过分隔符(如逗号、制表符)分隔。尽管TextFile在性能上不如ORC、Parquet等列式存储格式,但在特定场景下仍有其优势。以下是TextFile格式的特点、优势、使用场景及优化方法:一、TextFile格式的特点行式存储数据按行存储,每行数据连续存储在文件中,适合整行读取场景。优点:写入简
- Hive 文件存储格式
摇篮里的小樱桃
Hivehive
Hive的文件存储格式有五种:textfile、sequencefile、orc、parquet、avro,前面两种是行式存储,orc和parquet是列式存储。如果为textfile的文件格式,直接load,不需要走mapreduce;如果是其他的类型就需要走mapreduce了,因为其他类型都涉及到了文件压缩,需要借助mapreduce的压缩方式实现。Textfile:按行存储,不支持块压缩,
- StarRocks-同步hive-textfile格式数据
blazing fire !!!
StarRocks数据仓库starrocks
官方文档对csv,orc,json,parquet都支持的比较好。写文章的时候SR我们生产用的是3.1.x版本1、同步hive表textfile格式的数据hive表结构CREATEEXTERNALTABLEads_d_app_rank_inc(`filename`stringCOMMENT'解析的文件名称',`rank`stringCOMMENT'app排名',`app_name`stringCO
- Delphi保存字符串到文本文件
龙门吹雪
Delphi保存字符串到文本文件,若指定文件不存在,则自动创建;保存字符串时采用累加形式。proceduremSaveToFile(constFileName:string;sts:string);varMyTextFile:TextFile;//定义变量MyTextFile为文本文件类型begin//(*步骤1,将文件变量与外部文件联系。相当于为外部文件找了个“替身”*)AssignFile(M
- Hive的存储格式
百流
hadoop学习日记hivehadoop数据仓库
文章目录Hive的存储格式1.存储格式简介2.行存储与列存储行式存储列式存储混合的PAX存储结构TextFileSequenceFileHive的存储格式1.存储格式简介Hive支持的存储数的格式主要有:TEXTFILE(默认格式)、SEQUENCEFILE、RCFILE、ORCFILE、PARQUET。textfile为默认格式,建表时没有指定文件格式,则使用TEXTFILE,导入数据时会直接把
- 12.Spark Core-Spark-RDD持久化
__元昊__
(1)persist算子使用方法:varrdd=sc.textFile("test")rdd=rdd.persist(StorageLevel.MEMORY_ONLY)valcount=rdd.count()//或者其他操作StorageLevel说明:StorageLevel的构造函数:classStorageLevelprivate(privatevar_useDisk:Boolean,#是否
- hive load data未正确读取到日期
dogplays
hivehadoop数据仓库
1.源数据CSV文件日期字段值:2.hiveDDL语句:CREATEEXTERNALTABLE`test.textfile_table1`(`id`intCOMMENT'????',`name`stringCOMMENT'??',`gender`stringCOMMENT'??',`birthday`dateCOMMENT'????',.......)ROWFORMATSERDE'org.apac
- (10)Hive的相关概念——文件格式和数据压缩
爱吃辣条byte
#Hivehive数据仓库
目录一、文件格式1.1列式存储和行式存储1.1.1行存储的特点1.1.2列存储的特点1.2TextFile1.3SequenceFile1.4Parquet1.5ORC二、数据压缩2.1数据压缩-概述2.1.1压缩的优点2.1.2压缩的缺点2.2Hive中压缩配置2.2.1开启Map输出阶段压缩(MR引擎)2.2.2开启Reduce输出阶段压缩2.3Hive中压缩测试一、文件格式Hive数据存储的
- 大数据 - Spark系列《三》- 加载各种数据源创建RDD
王哪跑nn
spark大数据spark分布式
Spark系列文章:大数据-Spark系列《一》-从Hadoop到Spark:大数据计算引擎的演进-CSDN博客大数据-Spark系列《二》-关于Spark在Idea中的一些常用配置-CSDN博客目录3.1加载文件(本地)1.加载本地文件路径使用textFile加载本地txt文件使用textFile加载本地json文件使用sequenceFile加载本地二进制文件HDFS也可以(hdfs://do
- Spark-RDD持久化
printf200
(1)persist算子使用方法:varrdd=sc.textFile("test")rdd=rdd.persist(StorageLevel.MEMORY_ONLY)valcount=rdd.count()//或者其他操作StorageLevel说明:StorageLevel的构造函数:classStorageLevelprivate(privatevar_useDisk:Boolean,#是否
- angular HttpClient
榴莲不好吃
angularHttpClient
参考:angularhttpClient文档要想使用HttpClient,就要先导入Angular的HttpClientModule。大多数应用都会在根模块AppModule中导入它!!!!。1.简单的获取JSON数据//assets/config.json{"heroesUrl":"api/heroes","textfile":"assets/textfile.txt"}//app/config
- pyspark学习_wordcount
heiqizero
sparksparkpython
#统计文件中每个字母出现次数#第一版rdd文件行类型:Aaron,OperatingSystem,100frompysparkimportSparkConf,SparkContextconf=SparkConf().setAppName("RddwordCount").setMaster("local[*]")sc=SparkContext(conf=conf)lines=sc.textFile(
- pyspark学习_RDD转为DataFrame
heiqizero
sparksparkpython
#方法1:反射机制推断RDD模式people.txtTom12Jack13Janny14frompyspark.sqlimportSparkSession,Rowspark=SparkSession.builder.getOrCreate()lines=spark.sparkContext.textFile("people.txt")people=lines.map(lambdax:x.split
- pyspark学习-RDD转换和动作
heiqizero
sparksparkpython
#RDD创建#1.parallelize方法:创建RDD,参数为list,返回RDDsc.parallelize(param:list)#demosc.parallelize(['tom','jack','black'])#2.textFile方法:读取文件,创建RDD,参数为hdfs文件地址或者本地文件地址,返回RDDsc.textFile(param:filepath)#demosc.text
- 请手动写出wordcount的spark代码实现
scott_alpha
valconf=newSparkConf().setMaster("local[6]").setAppName("wordCount")valsc=newSparkContext(conf)sc.textFile("/input").flatMap(_.split("")).map((_,1)).reduceByKey(_+_).saveAsTextFile("/output")sc.stop()
- Spark RDD分区数和分区器
maplea2012
spark大数据hadoop
一、分区数如何决定1、数据源RDD数据源RDD的分区数由数据源的读取器决定,比如sc.textFile产生的rdd,分区数由TextInputFormat.getInputSplits()方法决定,具体源码追踪及解析如下:valrdd1=sc.textFile("data/tbPerson.txt")①Ctrl+B进入textFiletextFile底层其实就是通过hadoopFile去读文件②C
- Spark---RDD持久化
肥大毛
scalaspark大数据sparkajax大数据
文章目录1.RDD持久化1.1RDDCache缓存1.2RDDCheckPoint检查点1.3缓存和检查点区别1.RDD持久化在Spark中,持久化是将RDD存储在内存中,以便在多次计算之间重复使用。这可以显著减少不必要的计算,提高Spark应用程序的性能。vallines=context.textFile("D:\\learnSoftWare\\IdeaProject\\Spark_Demo\\
- Spark基础二
MSJ3917
spark大数据分布式
一.Spark入门案例总结1.读取文件:textFile(path):读取外部数据源,支持本地文件系统和hdfs文件系统.2.将结果数据输出文件上:saveAsTextFile(path):将数据输出到外部存储系统,支持本地文件系统和hdfs文件系统.3.文件路径协议:本地:file///路径hdfs:hdfs://虚拟机ip地址:8020/路径4.排序相关的API:sortBy(参数1,参数2)
- 25、Spark核心编程之RDD持久化详解
ZFH__ZJ
不使用RDD持久化的问题首先看一段代码JavaRDDlinesRDD=javaSparkContext.textFile("hdfs://hadoop-100:9000/testdate/1.txt");//这里面数据非常大,上亿LonglinesCount=linesRDD.count();//执行一些其他操作LongnewLinesCount=linesRDD.count();可以看到,上面的
- SparkSQL、RDD和DataFrame基本操作
路人乙yh
1三者比较易操作程度SparkSQL>DataFrame>RDD2创建RDD、DataFrame和SparkSQL2.1创建RDDrawUserData=sc.textFile("file:/home/badou/Downloads/u.user")rawUserData.count()`输出:943,说明有943条数据。userRDD=rawUserData.map(lambdaline:lin
- spark(三):spark的数据读取和保存
_NeutronStar
一、spark支持的文件格式1、文本文件,每行一条记录使用sc.textFile来读取一个文件,使用saveAsTextFile方法将RDD保存为一个文件2、JSON格式文件,大多是每行一条记录这里需要注意是每一行是一个JSON记录还是跨行的,如果是跨行的那么就要解析整个文件3、CSV文件4、SequenceFile基于键值对的hadoop文件格式5、对象文件,其是基于java的序列化生成的文件6
- ls、cat、 mv、 touch 命令行的使用方法以及 explainshell.com 介绍
慢跑伴昭君
1.ls命令主要的功能为查看当前所有的文件。主要用法有(百度百科)ls-l:输出文件详细信息。ls-a:列出内容以“.”开头的文件,即显示隐藏文件。2.cat命令用于连接文件并打印到标准输出设备上,常见用法用法如下(引用菜鸟教程-Linuxmv命令)cat-n:由1开始对所有输出的行数编号。例如:cat-ntextfile1>textfile2是把textfile1的文档内容加上行号后输入text
- 【Hive_04】分区分桶表以及文件格式
温欣2030
hivehadoop数据仓库
1、分区表1.1分区表基本语法(1)创建分区表(2)分区表读写数据(3)分区表基本操作1.2二级分区1.3动态分区2、分桶表2.1分桶表的基本语法2.2分桶排序表3、文件格式与压缩3.1Hadoop压缩概述3.2Hive文件格式(1)TextFile(2)ORC(3)Parquet3.3压缩(1)Hive表数据进行压缩(2)计算过程中使用压缩1、分区表Hive中的分区就是把一张大表的数据按照业务需
- Hive 存储与压缩
月亮给我抄代码
Hive杂谈hivehadoop大数据
文章目录存储格式行存储与列存储存储格式解析TextFile格式ORC格式Parquet格式存储效率对比TextFile格式ORC格式(推荐)Parquet格式对比压缩ORC——ZLIB压缩ORC——SNAPPY压缩Parquet——GZIP压缩Parquet——SNAPPY压缩总结本文中用到的数据源下载:log.data存储格式Hive支持多种存储格式,常用的有三种:TEXTFILE、ORC、PA
- 讲道理,Hive文件存储与压缩还是挺重要的
看朱成碧_
Hivemysqlhive大数据分布式存储
压缩和存储1、文件存储格式Hive支持的存储数的格式主要有:TEXTFILE、SEQUENCEFILE、ORC、PARQUET。1)列式存储和行式存储上图左边为逻辑表,右边第一个为行式存储,第二个为列式存储。行存储的特点:查询满足条件的一整行数据的时候,列存储则需要去每个聚集的字段找到对应的每个列的值,行存储只需要找到其中一个值,其余的值都在相邻地方,所以此时行存储查询的速度更快。列存储的特点:因
- 【004hive基础】hive的文件存储格式与压缩
roman_日积跬步-终至千里
hivehive大数据hadoop
文章目录一.hive的行式存储与列式存储二.存储格式1.TEXTFILE2.ORC格式3.PARQUET格式ing三.Hive压缩格式1.mr支持的压缩格式:2.hive配置压缩的方式:2.1.开启map端的压缩方式:2.2.开启reduce端的压缩方式:四.hive中存储格式和压缩相结合五.hive主流存储格式性能对比1.压缩比比较2.存储文件的查询效率测试一.hive的行式存储与列式存储HIv
- Hive文件格式与压缩
会撸代码的懒羊羊
Educoderhivehadooplinux数据库bigdata
Hive文件格式与压缩Hive支持的存储数据格式主要有:文本格式(TEXTFILE)、二进制序列化文件(SEQUENCEFILE)、行列式文件(RCFile)、优化的行列式文件(ORC)、PARQUET。其中优化的行列式文件(ORC)、PARQUET以其高效的数据存储和数据处理性能得以在实际的生产环境中大量运用。注:TEXTFILE和SEQUENCEFILE的存储格式都是基于行式存储的;ORC和P
- Hive 文件存储格式与数据压缩结合
北山璎珞
数据仓库hive文件存储格式数据压缩结合
1压缩比和查询速度对比1)TextFile(1)创建表,存储数据格式为TEXTFILEcreatetablelog_text(track_timestring,urlstring,session_idstring,refererstring,ipstring,end_user_idstring,city_idstring)ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\
- 关于旗正规则引擎下载页面需要弹窗保存到本地目录的问题
何必如此
jsp超链接文件下载窗口
生成下载页面是需要选择“录入提交页面”,生成之后默认的下载页面<a>标签超链接为:<a href="<%=root_stimage%>stimage/image.jsp?filename=<%=strfile234%>&attachname=<%=java.net.URLEncoder.encode(file234filesourc
- 【Spark九十八】Standalone Cluster Mode下的资源调度源代码分析
bit1129
cluster
在分析源代码之前,首先对Standalone Cluster Mode的资源调度有一个基本的认识:
首先,运行一个Application需要Driver进程和一组Executor进程。在Standalone Cluster Mode下,Driver和Executor都是在Master的监护下给Worker发消息创建(Driver进程和Executor进程都需要分配内存和CPU,这就需要Maste
- linux上独立安装部署spark
daizj
linux安装spark1.4部署
下面讲一下linux上安装spark,以 Standalone Mode 安装
1)首先安装JDK
下载JDK:jdk-7u79-linux-x64.tar.gz ,版本是1.7以上都行,解压 tar -zxvf jdk-7u79-linux-x64.tar.gz
然后配置 ~/.bashrc&nb
- Java 字节码之解析一
周凡杨
java字节码javap
一: Java 字节代码的组织形式
类文件 {
OxCAFEBABE ,小版本号,大版本号,常量池大小,常量池数组,访问控制标记,当前类信息,父类信息,实现的接口个数,实现的接口信息数组,域个数,域信息数组,方法个数,方法信息数组,属性个数,属性信息数组
}
&nbs
- java各种小工具代码
g21121
java
1.数组转换成List
import java.util.Arrays;
Arrays.asList(Object[] obj); 2.判断一个String型是否有值
import org.springframework.util.StringUtils;
if (StringUtils.hasText(str)) 3.判断一个List是否有值
import org.spring
- 加快FineReport报表设计的几个心得体会
老A不折腾
finereport
一、从远程服务器大批量取数进行表样设计时,最好按“列顺序”取一个“空的SQL语句”,这样可提高设计速度。否则每次设计时模板均要从远程读取数据,速度相当慢!!
二、找一个富文本编辑软件(如NOTEPAD+)编辑SQL语句,这样会很好地检查语法。有时候带参数较多检查语法复杂时,结合FineReport中生成的日志,再找一个第三方数据库访问软件(如PL/SQL)进行数据检索,可以很快定位语法错误。
- mysql linux启动与停止
墙头上一根草
如何启动/停止/重启MySQL一、启动方式1、使用 service 启动:service mysqld start2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start3、使用 safe_mysqld 启动:safe_mysqld&二、停止1、使用 service 启动:service mysqld stop2、使用 mysqld 脚本启动:/etc/inin
- Spring中事务管理浅谈
aijuans
spring事务管理
Spring中事务管理浅谈
By Tony Jiang@2012-1-20 Spring中对事务的声明式管理
拿一个XML举例
[html]
view plain
copy
print
?
<?xml version="1.0" encoding="UTF-8"?>&nb
- php中隐形字符65279(utf-8的BOM头)问题
alxw4616
php中隐形字符65279(utf-8的BOM头)问题
今天遇到一个问题. php输出JSON 前端在解析时发生问题:parsererror.
调试:
1.仔细对比字符串发现字符串拼写正确.怀疑是 非打印字符的问题.
2.逐一将字符串还原为unicode编码. 发现在字符串头的位置出现了一个 65279的非打印字符.
 
- 调用对象是否需要传递对象(初学者一定要注意这个问题)
百合不是茶
对象的传递与调用技巧
类和对象的简单的复习,在做项目的过程中有时候不知道怎样来调用类创建的对象,简单的几个类可以看清楚,一般在项目中创建十几个类往往就不知道怎么来看
为了以后能够看清楚,现在来回顾一下类和对象的创建,对象的调用和传递(前面写过一篇)
类和对象的基础概念:
JAVA中万事万物都是类 类有字段(属性),方法,嵌套类和嵌套接
- JDK1.5 AtomicLong实例
bijian1013
javathreadjava多线程AtomicLong
JDK1.5 AtomicLong实例
类 AtomicLong
可以用原子方式更新的 long 值。有关原子变量属性的描述,请参阅 java.util.concurrent.atomic 包规范。AtomicLong 可用在应用程序中(如以原子方式增加的序列号),并且不能用于替换 Long。但是,此类确实扩展了 Number,允许那些处理基于数字类的工具和实用工具进行统一访问。
 
- 自定义的RPC的Java实现
bijian1013
javarpc
网上看到纯java实现的RPC,很不错。
RPC的全名Remote Process Call,即远程过程调用。使用RPC,可以像使用本地的程序一样使用远程服务器上的程序。下面是一个简单的RPC 调用实例,从中可以看到RPC如何
- 【RPC框架Hessian一】Hessian RPC Hello World
bit1129
Hello world
什么是Hessian
The Hessian binary web service protocol makes web services usable without requiring a large framework, and without learning yet another alphabet soup of protocols. Because it is a binary p
- 【Spark九十五】Spark Shell操作Spark SQL
bit1129
shell
在Spark Shell上,通过创建HiveContext可以直接进行Hive操作
1. 操作Hive中已存在的表
[hadoop@hadoop bin]$ ./spark-shell
Spark assembly has been built with Hive, including Datanucleus jars on classpath
Welcom
- F5 往header加入客户端的ip
ronin47
when HTTP_RESPONSE {if {[HTTP::is_redirect]}{ HTTP::header replace Location [string map {:port/ /} [HTTP::header value Location]]HTTP::header replace Lo
- java-61-在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差. 求所有数对之差的最大值。例如在数组{2, 4, 1, 16, 7, 5,
bylijinnan
java
思路来自:
http://zhedahht.blog.163.com/blog/static/2541117420116135376632/
写了个java版的
public class GreatestLeftRightDiff {
/**
* Q61.在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差。
* 求所有数对之差的最大值。例如在数组
- mongoDB 索引
开窍的石头
mongoDB索引
在这一节中我们讲讲在mongo中如何创建索引
得到当前查询的索引信息
db.user.find(_id:12).explain();
cursor: basicCoursor 指的是没有索引
&
- [硬件和系统]迎峰度夏
comsci
系统
从这几天的气温来看,今年夏天的高温天气可能会维持在一个比较长的时间内
所以,从现在开始准备渡过炎热的夏天。。。。
每间房屋要有一个落地电风扇,一个空调(空调的功率和房间的面积有密切的关系)
坐的,躺的地方要有凉垫,床上要有凉席
电脑的机箱
- 基于ThinkPHP开发的公司官网
cuiyadll
行业系统
后端基于ThinkPHP,前端基于jQuery和BootstrapCo.MZ 企业系统
轻量级企业网站管理系统
运行环境:PHP5.3+, MySQL5.0
系统预览
系统下载:http://www.tecmz.com
预览地址:http://co.tecmz.com
各种设备自适应
响应式的网站设计能够对用户产生友好度,并且对于
- Transaction and redelivery in JMS (JMS的事务和失败消息重发机制)
darrenzhu
jms事务承认MQacknowledge
JMS Message Delivery Reliability and Acknowledgement Patterns
http://wso2.com/library/articles/2013/01/jms-message-delivery-reliability-acknowledgement-patterns/
Transaction and redelivery in
- Centos添加硬盘完全教程
dcj3sjt126com
linuxcentoshardware
Linux的硬盘识别:
sda 表示第1块SCSI硬盘
hda 表示第1块IDE硬盘
scd0 表示第1个USB光驱
一般使用“fdisk -l”命
- yii2 restful web服务路由
dcj3sjt126com
PHPyii2
路由
随着资源和控制器类准备,您可以使用URL如 http://localhost/index.php?r=user/create访问资源,类似于你可以用正常的Web应用程序做法。
在实践中,你通常要用美观的URL并采取有优势的HTTP动词。 例如,请求POST /users意味着访问user/create动作。 这可以很容易地通过配置urlManager应用程序组件来完成 如下所示
- MongoDB查询(4)——游标和分页[八]
eksliang
mongodbMongoDB游标MongoDB深分页
转载请出自出处:http://eksliang.iteye.com/blog/2177567 一、游标
数据库使用游标返回find的执行结果。客户端对游标的实现通常能够对最终结果进行有效控制,从shell中定义一个游标非常简单,就是将查询结果分配给一个变量(用var声明的变量就是局部变量),便创建了一个游标,如下所示:
> var
- Activity的四种启动模式和onNewIntent()
gundumw100
android
Android中Activity启动模式详解
在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。
Android总Activity的启动模式分为四种:
Activity启动模式设置:
<acti
- 攻城狮送女友的CSS3生日蛋糕
ini
htmlWebhtml5csscss3
在线预览:http://keleyi.com/keleyi/phtml/html5/29.htm
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>攻城狮送女友的CSS3生日蛋糕-柯乐义<
- 读源码学Servlet(1)GenericServlet 源码分析
jzinfo
tomcatWebservlet网络应用网络协议
Servlet API的核心就是javax.servlet.Servlet接口,所有的Servlet 类(抽象的或者自己写的)都必须实现这个接口。在Servlet接口中定义了5个方法,其中有3个方法是由Servlet 容器在Servlet的生命周期的不同阶段来调用的特定方法。
先看javax.servlet.servlet接口源码:
package
- JAVA进阶:VO(DTO)与PO(DAO)之间的转换
snoopy7713
javaVOHibernatepo
PO即 Persistence Object VO即 Value Object
VO和PO的主要区别在于: VO是独立的Java Object。 PO是由Hibernate纳入其实体容器(Entity Map)的对象,它代表了与数据库中某条记录对应的Hibernate实体,PO的变化在事务提交时将反应到实际数据库中。
实际上,这个VO被用作Data Transfer
- mongodb group by date 聚合查询日期 统计每天数据(信息量)
qiaolevip
每天进步一点点学习永无止境mongodb纵观千象
/* 1 */
{
"_id" : ObjectId("557ac1e2153c43c320393d9d"),
"msgType" : "text",
"sendTime" : ISODate("2015-06-12T11:26:26.000Z")
- java之18天 常用的类(一)
Luob.
MathDateSystemRuntimeRundom
System类
import java.util.Properties;
/**
* System:
* out:标准输出,默认是控制台
* in:标准输入,默认是键盘
*
* 描述系统的一些信息
* 获取系统的属性信息:Properties getProperties();
*
*
*
*/
public class Sy
- maven
wuai
maven
1、安装maven:解压缩、添加M2_HOME、添加环境变量path
2、创建maven_home文件夹,创建项目mvn_ch01,在其下面建立src、pom.xml,在src下面简历main、test、main下面建立java文件夹
3、编写类,在java文件夹下面依照类的包逐层创建文件夹,将此类放入最后一级文件夹
4、进入mvn_ch01
4.1、mvn compile ,执行后会在