spark加载外部资源方式
2017-11-02 18:39
162 查看
首选说明spark加载文件:
1、采用 Source. fromFile (LocalPath)方式加载,可加载本地文件,这里本地文件指的是非集群方式
2、加载hdfs,sc.textfile()
3、采用 sc.textFile(“file:///path to the file/”),要求本地文件必须存在集群上的所有节点,且路径相同 (集群模式),local模式可以加载。个人测试机
yarn-client模式, 在client机器上是没办法读取,找不到路径。
spark-submit 方式提交任务, 同时上传资源配置文件。 也可以通过 Main方法 传参方式
1、yarn-client
![](http://img.blog.csdn.net/20171103130553907?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHZkYW4x/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20171103130623137?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHZkYW4x/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
这样打包就会将资源配置文件打包到jar包,调用:
这里要注意路径,是在jar包中的路径 / 根目录
如果不是配置文件(key=value形式),
输入流的处理,譬如一般文件或者图片
2、--properties-files config.properties
这里config.properties 文件中的名字 要以spark. 开头 。 spark.host=1.1.1.1 spark版本1.6 不知道高版本什么情况
3、--files ./config.properties
读配置文件:
4、addfile() addjar() 没测试过,具体看下面的博客。 addfile(path) path如果是本地路径,需要在本地有该文件 。
http://blog.csdn.net/zhzhji440/article/details/54023020 http://blog.csdn.net/guohecang/article/details/52095387
1、采用 Source. fromFile (LocalPath)方式加载,可加载本地文件,这里本地文件指的是非集群方式
2、加载hdfs,sc.textfile()
3、采用 sc.textFile(“file:///path to the file/”),要求本地文件必须存在集群上的所有节点,且路径相同 (集群模式),local模式可以加载。个人测试机
yarn-client模式, 在client机器上是没办法读取,找不到路径。
spark-submit 方式提交任务, 同时上传资源配置文件。 也可以通过 Main方法 传参方式
1、yarn-client
这样打包就会将资源配置文件打包到jar包,调用:
/* val in = getClass.getResourceAsStream("/mavenconfig.properties") val prop = new Properties() prop.load(new BufferedInputStream(in)) println(prop.getProperty("a"))*/
这里要注意路径,是在jar包中的路径 / 根目录
如果不是配置文件(key=value形式),
val in = getClass.getResourceAsStream("/mavenconfig.properties")
输入流的处理,譬如一般文件或者图片
2、--properties-files config.properties
这里config.properties 文件中的名字 要以spark. 开头 。 spark.host=1.1.1.1 spark版本1.6 不知道高版本什么情况
/* val host= sc.getConf.get("spark.host") println("host:"+host)*/
3、--files ./config.properties
读一般文件:
val t: BufferedSource = scala.io.Source.fromFile("config.properties") t.getLines().foreach(t=>println(t))
读配置文件:
/* val config = "config.properties" val prop = new Properties() prop.load(new FileInputStream(config)) val keyset = prop.keySet().toArray() keyset.foreach(t=>println(t+" "+prop.getProperty(t.toString)))*/
配置文件类加载测试 | 配置采用 key=value 的形式 | client/cluster | 采用 sc.getConf.get 方法;配合submit 参数–properties-file 上传配置文件; 配置文件key value 以空格为分隔符 |
配置文件类加载测试 | 配置采用 key=value 的形式 | client/cluster | 采用java.util.Properties 方法;配置文件打包到jar包里; 配置文件key value 以“=”为分隔符 |
资源文件类加载测试 | 普通文本格式,非key value模式 | client/cluster | 采用scala.io.Source.fromFile 方法;资源文件采用submit 参数–files 上传; |
资源文件类加载测试 | 普通文本格式,非key value模式 | client/cluster | 采用scala.io.Source.fromFile和getResourceAsStream方法;资源文件打包到jar包中; |
http://blog.csdn.net/zhzhji440/article/details/54023020 http://blog.csdn.net/guohecang/article/details/52095387
相关文章推荐
- 转载:Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式
- JAVA ResourceBundle 加载外部路径资源文件方式
- Flash AS3.0加载外部资源(图片、MP3、SWF)的两种方式
- Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式
- Spring中加载外部资源文件的几种方式
- jquery加载js资源时不能从cache获取的解决方式
- 4.Spark SQL:数据源Parquet之使用编程方式加载数据
- spring笔记——加载外部资源
- properties资源文件加载方式
- 如何以资源文件的方式加载rss皮肤文件
- java 加载资源文件方式
- UE4中资源加载资源的方式
- 1.5.3 ImageFromIDResource()函数的应用——资源ID方式加载PNG
- java 命令行运行时加载外部jar包的方式
- java加载资源文件的几种方式
- 使用jQuery和YQL,以Ajax方式加载外部内容
- Android实现资源动态加载的两种方式
- 简述java加载资源文件的三种方式
- 4.Spark SQL:数据源Parquet之使用编程方式加载数据
- 加载外部图片的三种方式