Jupyter中通过pyspark连接Hive数据库

环境

CentOS 7
Hive 2.3.6
Spark 2.3.0
Jupyter hub 1.1.0(notebook,lab通用)
Python 3.7

准备

  1. Spark, Hive已安装完成
  2. Jupyter 通过Anaconda 安装完成
  3. 在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()

连接

  1. 确定pyspark的安装路径
    通常情况下,pyspark应在anaconda目录下,例如:
# su - jupyter1 当前进行测试的用户
ps xf #查看spark的进程,发现具体使用的pyspark目录
anaconda3/lib/python3.7/site-packages/pyspark/

在这里插入图片描述

  1. 查看pyspark目录下是否有jars, conf目录,若无,则新建
    在这里插入图片描述

  2. 将hive-site.xml文件放入conf文件夹下,将spark目录中的
    mysql-connector-java-5.1.47.jar放入jars文件夹下

  3. 进入jupyter hub中,重启自己的服务

  4. 重启完成后,通过以下代码进行测试

#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版权协议,转载请附上原文出处链接和本声明。