Разница между spark_session и sqlContext при загрузке локального файла - PullRequest
0 голосов
/ 28 ноября 2018

Я пытался загрузить локальный файл как фрейм данных с использованием spark_session и sqlContext.

df = spark_session.read...load(localpath) 

Не удалось прочитать локальные файлы.дф пуст.Но после создания sqlcontext из spark_context он мог загрузить локальный файл.

sqlContext = SQLContext(spark_context)
df = sqlContext.read...load(localpath)

Работало нормально.Но я не могу понять почему.В чем причина?

Envionment: Windows10, spark 2.2.1

EDIT

Наконец-то я решил эту проблему.Основной причиной является разница версий между PySpark, установленным с помощью pip, и PySpark, установленным в локальной файловой системе.PySpark не удалось запустить из-за сбоя py4j.

1 Ответ

0 голосов
/ 28 ноября 2018

Я вставляю пример кода, который может помочь.Мы использовали это для создания объекта 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...