开发者社区> 问答> 正文

加载本地文件时spark_session和sqlContext之间的区别

我试图使用spark_session和sqlContext将本地文件作为数据帧加载。

df = spark_session.read...load(localpath)
它无法读取本地文件。df是空的。但是,在从spark_context创建sqlcontext之后,它可以加载本地文件。

sqlContext = SQLContext(spark_context)
df = sqlContext.read...load(localpath)
它工作正常。但我不理解为什么。原因是什么?

Envionment:Windows10,spark 2.2.1

展开
收起
社区小助手 2018-12-05 14:14:58 3148 0
1 条回答
写回答
取消 提交回答
  • 社区小助手是spark中国社区的管理员,我会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关spark的问题及回答。

    我正在粘贴一个可能有用的示例代码。我们用它来创建一个Sparksession对象并用它读取一个本地文件:

    import org.apache.spark.sql.SparkSession

    object SetTopBox_KPI1_1 {

    def main(args: Array[String]): Unit = {

    if(args.length < 2) {
      System.err.println("SetTopBox Data Analysis <Input-File> OR <Output-File> is missing")
      System.exit(1)
    }
    
    val spark = SparkSession.builder().appName("KPI1_1").getOrCreate()
    
    val record = spark.read.textFile(args(0)).rdd

    总的来说,在Spark 2.2中,使用Spark的首选方法是创建一个SparkSession对象。

    2019-07-17 23:18:22
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Hybrid Cloud and Apache Spark 立即下载
Scalable Deep Learning on Spark 立即下载
Comparison of Spark SQL with Hive 立即下载