spark数据导入导出

来源:互联网 发布:网络语168是什么意思 编辑:程序博客网 时间:2024/05/29 07:03

【场景】

1、数据导入:结构化数据,hive中

2、代码提交:

(1) spark-shell的方式

(2) spark-submit的方式,代码已经编译好。

(3) zeppelin,spark编码的方式

3、数据输出:

(1) csv,json

(2) 本地化,hive


【实现】

1、spark-shell:

交互式编程,涉及到外包包依赖时,将需要的jar包都下载好,spark-shell执行的时候,指定依赖的jars。

一般在idea里面写好代码,粘到spark-shell分步执行调试。

./spark-shell --master yarn-client --jars /home/xx/xx/spark-csv_2.10-1.5.0.jar,/home/xx/xx/commons-csv-1.1.jar,/home/xx/xx/univocity-parsers-1.5.1.jar --num-executors 6 --executor-memory 4g


2、spark-submit:

(1)、直接编码,依赖包直接包含。

(2)、通过spark-submit提交任务,指定执行的jar包,主类,调节资源分配等参数。

(3)、spark job相关的配置,如果在spark-submit中和jar包代码中都设置了,会使用代码中的设置。


./spark-submit --class xxx --driver-memory 4g --num-executors 6 --executor-memory 4g /home/xx/xx/xx-1.0-SNAPSHOT-jar-with-dependencies.jar


3、zeppelin

(1) 参数通过解释插件来配置。

(2) spark job提交的时候,后台还是调用的spark-shell。所以sc,sqlContext变量也可以直接使用。


【输出】

1、csv、json:dataframe.write.format.save

通过spark-shell直接提交的时候,如果输出格式是csv,则需要带上csv相关的几个jar包。

2、本地化、hive保存:

通过hadoop的filesystem相关的api,将数据从hive保存到本地文件系统。


原创粉丝点击