环境
CentOS 7
Hive 2.3.6
Spark 2.3.0
Jupyter hub 1.1.0(notebook,lab通用)
Python 3.7
准备
- Spark, Hive已安装完成
- Jupyter 通过Anaconda 安装完成
- 在spark/bin目录中,可通过spark-sql,pyspark连接hive
pyspark测试代码
from pyspark import SparkConf, SparkContext
from pyspark.sql import HiveContext
sqlContext = HiveContext(sc)
my_dataframe = sqlContext.sql("show databases")
my_dataframe.show()
连接
- 确定pyspark的安装路径
通常情况下,pyspark应在anaconda目录下,例如:
# su - jupyter1 当前进行测试的用户
ps xf #查看spark的进程,发现具体使用的pyspark目录
anaconda3/lib/python3.7/site-packages/pyspark/
查看pyspark目录下是否有jars, conf目录,若无,则新建
将hive-site.xml文件放入conf文件夹下,将spark目录中的
mysql-connector-java-5.1.47.jar放入jars文件夹下进入jupyter hub中,重启自己的服务
重启完成后,通过以下代码进行测试
#import pyspark
from pyspark.sql import SparkSession
from pyspark.sql import Row
#创建实例
spark = SparkSession.builder.appName("Python Spark SQL Hive integration example").enableHiveSupport().getOrCreate()
sc = spark.sparkContext
#连接hive,并显示default目录下的表
spark.sql("show tables").show()
版权声明:本文为Albert_Fang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。