栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Pyspark内部使用Scala类

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

如何在Pyspark内部使用Scala类

是的,尽管不是很琐碎,但它是可能的。通常,您需要一个Java(友好的)包装器,这样就不必处理Scala功能,而这些功能使用普通Java不能轻松表达,因此在Py4J网关中无法很好地发挥作用。

假设您的课程是int包

com.example
,并
Dataframe
调用了Python
df

df = ... # Python Dataframe

您必须:

  1. 使用您最喜欢的构建工具来构建jar 。

  2. 将其包括在驱动程序类路径中,例如使用

    --driver-class-path
    PySpark shell /的参数
    spark-submit
    。根据确切的代码可能无法使用通过它
    --jars
    以及

  3. 从Python

    SparkContext
    实例中提取JVM实例:

    jvm = sc._jvm
  4. SQLContext
    SQLContext
    实例中提取Scala :

    ssqlContext = sqlContext._ssql_ctx
  5. Dataframe
    从中提取Java
    df

    jdf = df._jdf
  6. 创建的新实例

    SimpleClass

    simpleObject = jvm.com.example.SimpleClass(ssqlContext, jdf, "v")
  7. 调用

    exe
    方法并使用Python包装结果
    Dataframe

    from pyspark.sql import Dataframe

    Dataframe(simpleObject.exe(), ssqlContext)

结果应该是有效的PySpark

Dataframe
。您当然可以将所有步骤组合到一个调用中。

重要提示 :仅当仅在驱动程序上执行Python代码时,此方法才可行。不能在Python操作或转换中使用。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/637743.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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