技术积累20170326
2017-03-26 16:03
232 查看
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版本管理库
一、文件-》新建仓库
二、刷新后,添加备注,提交
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版本管理库
一、文件-》新建仓库
二、刷新后,添加备注,提交
相关文章推荐
- ANDROID技术积累:开发规范
- Android技术积累:开发规范
- MFC技术积累——基于MFC对话框类的那些事儿4
- 想带几个徒弟,C#.NET开发技术方面的,把自己积累的软件技术传授给高徒[非网络带人]
- 知识积累(五)——Acegi (version1.0.4)中文参考手册——第二章 技术概览
- 技术积累
- CSS3 技术积累
- 技术债务,完美与代码积累
- 办公&技术#小技巧积累^之一
- (转)Android技术积累:图片异步加载
- 阿里系的技术积累
- [知识积累] 技术框架积累
- Android技术积累:开发规范
- JasperReport技术积累
- 技术积累
- 技术积累 — Keil 查看内存占用/优化代码
- IT 技术网址积累
- 技术积累应用-可视化编程平台应用层面-三层结构作用
- Android技术积累:开发规范
- Java高级程序员技术积累