• Spark连接快速入门


    文章最前: 我是Octopus,这个名字来源于我的中文名--章鱼;我热爱编程、热爱算法、热爱开源。所有源码在我的个人github ;这博客是记录我学习的点点滴滴,如果您对 Python、Java、AI、算法有兴趣,可以关注我的动态,一起学习,共同进步。

    Spark Connect 为 Spark 引入了解耦的客户端-服务器架构,允许使用DataFrame API远程连接到 Spark 集群。

    本笔记本通过一个简单的分步示例演示如何使用 Spark Connect 构建在处理数据时需要利用 Spark 强大功能的任何类型的应用程序。

    Spark Connect 包括客户端和服务器组件,我们将向您展示如何设置和使用这两个组件。

    使用 Spark Connect 启动 Spark 服务器

    要启动支持 Spark Connect 会话的 Spark,请运行该start-connect-server.sh脚本。

    !$HOME/sbin/start-connect-server.sh --packages org.apache.spark:spark-connect_2.12:$SPARK_VERSION
    

     连接到 Spark Connect 服务器

    现在 Spark 服务器正在运行,我们可以使用 Spark Connect 远程连接到它。我们通过在运行应用程序的客户端上创建远程 Spark 会话来实现此目的。在此之前,我们需要确保停止现有的常规 Spark 会话,因为它无法与我们即将创建的远程 Spark Connect 会话共存。

    1. from pyspark.sql import SparkSession
    2. SparkSession.builder.master("local[*]").getOrCreate().stop()
    我们上面用来启动服务器的命令将 Spark 配置为以 localhost:15002. 现在我们可以使用以下命令在客户端上创建远程 Spark 会话。
     
    spark = SparkSession.builder.remote("sc://localhost:15002").getOrCreate()
    

    创建DataFrame

    远程 Spark 会话创建成功后,就可以像常规 Spark 会话一样使用它。因此,您可以使用以下命令创建DataFrame。

    1. from datetime import datetime, date
    2. from pyspark.sql import Row
    3. df = spark.createDataFrame([
    4. Row(a=1, b=2., c='string1', d=date(2000, 1, 1), e=datetime(2000, 1, 1, 12, 0)),
    5. Row(a=2, b=3., c='string2', d=date(2000, 2, 1), e=datetime(2000, 1, 2, 12, 0)),
    6. Row(a=4, b=5., c='string3', d=date(2000, 3, 1), e=datetime(2000, 1, 3, 12, 0))
    7. ])
    8. df.show()
    +---+---+-------+----------+-------------------+
    |  a|  b|      c|         d|                  e|
    +---+---+-------+----------+-------------------+
    |  1|2.0|string1|2000-01-01|2000-01-01 12:00:00|
    |  2|3.0|string2|2000-02-01|2000-01-02 12:00:00|
    |  4|5.0|string3|2000-03-01|2000-01-03 12:00:00|
    +---+---+-------+----------+-------------------+

  • 相关阅读:
    科普:分发文件软件(高人气爆款甄选)
    Windows Phone 模拟器 (WPR Alpha 0.0.1 WP7/8模拟器) XAP XNA文件使用教程
    攻防世界-WEB-Web_python_template_injection
    Unity之NetCode多人网络游戏联机对战教程(1)
    【brpc学习实战二】brpc client构建基本流程
    Excel VLOOKUP实用教程之 08 VLOOKUP如果实现区分大小写的查找?(教程含数据excel)
    Codeforces Round #811 (Div. 3)A.B.C.E
    字符集编码(一):Unicode 之前
    数仓工具—Hive源码之SQL解析AntlrWorks的使用(10)
    Python3.11教程5:类与对象
  • 原文地址:https://blog.csdn.net/zy345293721/article/details/133814900