栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

windows配置Spark连接远程集群

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

windows配置Spark连接远程集群

Windows配置Spark连接远程集群
    • 本地Spark环境
    • python findspark
    • Spark代码配置

本地Spark环境
  • 在使用Spark连接远程集群的过程中要依赖本地的Spark环境,也就是在Windows本地需要有Spark,我这里使用的是2.4的windows spark,如果使用的是CDH配置的Hive集群,那么记得要选择CDH可关联使用的Spark版本
  • 由于需要连接到集群上的Spark环境,我们需要本地拥有线上的hdfs-site.xml放在本地的Spark目录中的conf文件夹中,CDH版本的配置文件可以在CM管理平台上查看,这一步很重要!!!
python findspark
  • 由于是windows系统,预期会出现找不到Spark环境的问题,那么可pip安装一个findspark的python包

pip install findspark

Spark代码配置
  • 基础的Spark配置可以参考如下(其中SPARK HOME位置可自行变更为系统内对应Spark包位置即可):
  • hive.metastore.uris:元数据服务器的URI
  • dfs.ha.namenodes.[nameservice ID]:命名空间中所有NameNode的唯一标示名称。可以配置多个,使用逗号分隔。该名称是可以让DataNode知道每个集群的所有NameNode。当前,每个集群最多只能配置两个NameNode。在这里如果是自己配置,当然是知道nameservice ID的,如果不知道的话可以暂且去除该config,Spark读取过程中会显现出该nameservice ID
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/9/29 18:22
# @Author : Vic
# @Site :
# @File : main.py
# @Software: PyCharm
 
import findspark
from pyspark.sql import SparkSession
 
import os
 
findspark.init()
os.environ["SPARK_HOME"] = "D:\Spark"

def spark_connect():
    spark = SparkSession 
        .builder 
        .appName("my_app_name") 
        .config("hive.metastore.uris", "thrift://host:port") 
        .config("dfs.ha.namenodes.nameservices1", "host1,host2") 
        .enableHiveSupport() 
        .getOrCreate()
 
    spark.sparkContext.setLogLevel("Error")
 
    sql = "show databases"
    df = spark.sql(sql)
    df.show()
 
    return spark
 
 
if __name__ == '__main__':
    spark_connect()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/308037.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号