解析:
1)准备linux环境,设置集群搭建账号和⽤⼾组,设置ssh,关闭防⽕墙,关闭seLinux,配置host,hostname
2)配置jdk到环境变量
3)搭建hadoop集群,如果要做master ha,需要搭建zookeeper集群
修改hdfs-site.xml,hadoop_env.sh,yarn-site.xml,slaves等配置⽂件
4)启动hadoop集群,启动前要格式化namenode
5)配置spark集群,修改spark-env.xml,slaves等配置⽂件,拷⻉hadoop相关配置到spark conf⽬录下
6)启动spark集群。
解析:
RDD和它依赖的parent RDD(s)的关系有两种不同的类型,即窄依赖(narrow dependency)和宽依赖(wide dependency)。
1)窄依赖指的是每⼀个parent RDD的Partition最多被⼦RDD的⼀个Partition使⽤
2)宽依赖指的是多个⼦RDD的Partition会依赖同⼀个parent RDD的Partition
spark-submit的时候如何引⼊外部jar包
解析:
⽅法⼀:spark-submit –jars
根据spark官⽹,在提交任务的时候指定–jars,⽤逗号分开。这样做的缺点是每次都要指定jar包,如果jar包少的话可以这么做,但是如果多的话会很⿇烦。
命令:spark-submit --master yarn-client --jars ***.jar,***.jar
⽅法⼆:extraClassPath
提交时在spark-default中设定参数,将所有需要的jar包考到⼀个⽂件⾥,然后在参数中指定该⽬录就可以了,较上⼀个⽅便很多:
spark.executor.extraClassPath=/home/hadoop/wzq_workspace/lib/* spark.driver.extraClassPath=/home/hadoop/wzq_workspace/lib/*
www.aboutyun.com/thread-24246-1-1.html 6/57
2019/4/24 spark相关的⾯试题跟答案,带着问题学习效果更佳哟。?)-⾯试区-about云开发
需要注意的是,你要在所有可能运⾏spark任务的机器上保证该⽬录存在,并且将jar包考到所有机器上。这样做的好处是提交代码的时候不⽤再写⼀⻓串jar了,缺
点是要把所有的jar包都拷⼀遍。
解析:
答:1)cache和persist都是⽤于将⼀个RDD进⾏缓存的,这样在之后使⽤的过程中就不需要重新计算了,可以⼤⼤节省程序运⾏时间;2) cache只有⼀个默认
的缓存级别MEMORY_ONLY ,cache调⽤了persist,⽽persist可以根据情况设置其它的缓存级别;3)executor执⾏的时候,默认60%做cache,40%做task操
作,persist最根本的函数,最底层的函数
⼆、选择题
cache后⾯能不能接其他算⼦,它是不是action操作?
解析:
答:cache可以接其他算⼦,但是接了算⼦之后,起不到缓存应有的效果,因为会重新触发cache。
cache不是action操作