【场景】
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-execu