技术积累20170326
来源:互联网 发布:java手游飞机 编辑:程序博客网 时间:2024/06/05 02:38
1.CDH下spark日志目录:/opt/cloudera/parcels/CDH/lib/spark/logs/
2.idea提交spark任务yarn配置文件:
/etc/hadoop/conf.cloudera.yarn/core-site.xml
/etc/hadoop/conf.cloudera.yarn/yarn-site.xml
/etc/hadoop/conf.cloudera.yarn/hdfs-site.xml
3.sparkContext.textFile( )读取文件:
默认是从hdfs读取文件,也可以指定sc.textFile("路径").在路径前面加上hdfs:// 表示从hdfs文件系统上读
本地文件读取 sc.textFile("路径").在路径前面加上file:// 表示从本地文件系统读,如file:// /home/user/spark/README.md
textFile的参数是一个path,这个path可以是:
一、 一个文件路径,这时候只装载指定的文件
二、一个目录路径,这时候只装载指定目录下面的所有文件(不包括子目录下面的文件)
三、 通过通配符的形式加载多个文件或者加载多个目录下面的所有文件
第三点是一个使用小技巧,现在假设我的数据结构为先按天分区,再按小时分区的,在hdfs上的目录结构类似于:
/user/hdfs/input/dt=20130728/hr=00/
/user/hdfs/input/dt=20130728/hr=01/
..
/user/hdfs/input/dt=20130728/hr=23/
具体的数据都在hr等于某个时间的目录下面,现在我们要分析20130728这一天的数据,我们就必须把这个目录下面的所有hr=*的子目录下面的数据全部装载进RDD,于是我们可以这样写:sc.textFile("hdfs://n1:8020/user/hdfs/input/dt=20130728/hr=*/"),注意到hr=*,是一个模糊匹配的方式。
4.hiveContext.sql("select * from hiveTable").collect().foreach(println)
5.移除/etc/spark/cnof/hbase-site.xml后,运行作业后提示的info信息,quorum从localhost变为yyptbd1,yyptbd2,yyptbd3(感觉尽量保留这个文件)
6.spark-submit 提交任务
一、--master local 运行时为单机,并没有并行处理
二、--driver-class-path参数中添加jar包,但此时的jar包只是本节点使用,在classpath.txt中添加三个jar包文件,和参数中的三个jar包添加效果一样。需要在所有的节点中都添加包地址。
class.txt地址:/etc/spark/conf
/opt/cloudera/parcels/CDH/jars/guava-12.0.1.jar
/opt/cloudera/parcels/CDH/jars/htrace-core-3.1.0-incubating.jar
/opt/cloudera/parcels/CDH/jars/protobuf-java-2.5.0.jar
三、--master yarn 集群方式运行
spark-submit --class sparkTest --master yarn /tempDxy/TestScalaSpark-1.0-SNAPSHOT.jar
7.spark读取hbase,就是将hbase表记录以RDD的形式加载到内存中。
8.对RDD 先collect,然后才能println输出至本地。cache和persist后,都不能println至本地。
9.idea打jar包并提交jar包(包含外部依赖的包)到cdh(spark)
如果依赖外部的包,则需要将工程中依赖的jar包,全部打包
这样得到的jar包可能会很大如200M,而普通的打包方式只有15kb
打包方法:
file -> project-Structure->Artifacts->"+"->jar->from Modules with dependces->添加包含入口函数的类-》目录为工程的根目录-》ok-》勾选Build on make->ok
然后主界面 Build-》Build Artifacts
提交jar包至spark时,需要删除jar包中(用WinRAR打开)/META-INF/ECLIPSEF.SF文件
10.idea下Scala和Java的混合编程
11.spark-shell 和spark-submit的关系区别
对于spark提交程序,最终都是通过spark-submit来实现的,不同的是spark-shell 在运行时,会先进行一些初始参数的设置,然后调用spark-submit
12.新建hg版本管理库
一、文件-》新建仓库
二、刷新后,添加备注,提交
- 技术积累20170326
- 技术积累
- 技术积累
- 技术积累
- 技术积累
- 技术积累
- 技术积累
- 技术积累
- 技术积累
- 技术积累
- 技术积累
- 技术积累
- 技术积累
- 技术积累
- [知识积累] 技术框架积累
- 开发中的技术积累
- EclipseRCP技术积累
- 编程技术积累01
- URL 统一资源定位符
- Serilizable/Externalizable/transient
- Xshell拖拽文件到linux(rz和sz命令用法详解)
- GO 内存分配new和make的区别
- centos 下无法使用lsof命令"-bash: lsof: command not found"
- 技术积累20170326
- 文章标题
- 随笔
- OpenCV python 学习笔记(九)
- java工厂模式和抽象工厂模式学习笔记
- dubbo进阶--基本概念
- IOS 关键字self,super,copy, retain, assign , readonly , readwrite, nonatomic、@synthesize、@property、@dyna
- hadoop学习资料
- 使用线程安全的单个实例变量