余老师带你学习大数据-Spark快速大数据处理第六章第四节Spark案例
Spark集群模式
Spark集群模式Standalone,之前安装的配置模式就是Standalone,自己有集群,有一个master和三个work。这种集群是没有做HA的,因为想做HA可以集群的管理框架。
例子-Pyspark
1、以hadoop用户登录。
命令:su – hadoop
2、进入Spark的安装目录下。
命令:cd /hadoop/Spark/spark-2.4.0-bin-hadoop3.1.2/
3、进入Python环境。
命令:bin/pyspark
4、查询。
命令:from os.path import expanduser, join, abspath
from pyspark.sql import SparkSession
from pyspark.sql import Row
warehouse_location = abspath('/user/hive/warehouse')
spark = SparkSession.builder.appName("Python Spark SQL Hive integration example").config("spark.sql.warehouse.dir",warehouse_location).enableHiveSupport().getOrCreate()
spark.sql("SELECT * FROM test.employee").show()
注:查询失败,需要将hive的配置文件拷贝到Spark配置目录下。
5、退出命令行。
命令:quit()
6、进入到Spark的配置目录下。
命令:cd /hadoop/Spark/spark-2.4.0-bin-hadoop3.1.2/conf/
7、将hive的配置文件拷贝到Spark配置目录下。
命令:scp app-12:/hadoop/Hive/apache-hive-3.1.1-bin/conf/hive-site.xml ./
8、将hive-site.xml拷贝到app-13上。
命令:scp hive-site.xml app-13:/hadoop/Spark/spark-2.4.0-bin-hadoop3.1.2/conf/
9、切换到spark的根目录下。
命令:cd /hadoop/Spark/spark-2.4.0-bin-hadoop3.1.2/
10、运行pyspark。
命令:bin/pyspark
11、select查询。
命令:spark = SparkSession.builder.appName("Python Spark SQL Hive integration example").config("spark.sql.warehouse.dir",warehouse_location).enableHiveSupport().getOrCreate()
spark.sql("SELECT * FROM test.employee").show()
12、count查询。
命令:spark.sql("SELECT COUNT(*) FROM test.employee").show()
13、退出命令行。
命令:quit()
Python脚本通过spark-submit提交yarn集群
如果没有做Pyspark例子,可以参考例子将hive的配置文件拷贝到整个集群的Spark配置目录下。
1、进入到Spark例子目录下。
命令:cd /tmp/Spark-stack/Spark/case/
2、将SparkHiveExample.py程序拷贝到Spark安装目录下。
命令:cp SparkHiveExample.py /hadoop/Spark/spark-2.4.0-bin-hadoop3.1.2/
3、进入spark的安装目录下。
命令:cd /hadoop/Spark/spark-2.4.0-bin-hadoop3.1.2/
4、将程序提交给yarn集群。
命令:./bin/spark-submit SparkHiveExample.py --master yarn --deploy-mode cluster --driver-memory 2g --executor-memory 1g --executor-cores 1 --queuedefault
Python-Scala版本
如果没有做Pyspark例子,可以参考例子将hive的配置文件拷贝到整个集群的Spark配置目录下。
1、进入命令行。
命令:bin/spark-shell
注:默认进入Scala编译环境。
2、交互性执行。
命令:import java.io.File
import org.apache.spark.sql.{Row, SaveMode, SparkSession}
val warehouseLocation = new File("/user/hive/warehouse").getAbsolutePath
val spark = SparkSession.builder().appName("Spark Hive
Example").config("spark.sql.warehouse.dir",warehouseLocation).enableHiveSupport().getOrCreate()
import spark.implicits._
import spark.sql
3、select查询。
命令:sql("SELECT * FROM test.employee").show()
4、count查询。
命令:sql("SELECT COUNT(*) FROM test.employee").show()
5、停止spark。
命令:spark.stop()
6、退出命令行。
命令::quit
Spark-sql版本
如果没有做Pyspark例子,可以参考例子将hive的配置文件拷贝到整个集群的Spark配置目录下。
1、进入命令行。
命令:bin/spark-sql
2、查看databases。
命令:show databases;
3、进入test。
命令:use test;
4、查看tables。
命令:show tables;
5、select查询。
命令:select * from employee;
6、退出命令行。
命令:quit;
详细学习内容可观看Spark快速大数据处理扫一扫~~~或者引擎搜索Spark余海峰