Подтвердить что ты не робот

Чтение TSV в Spark Dataframe с помощью Scala API

Я пытаюсь получить библиотеку databricks для чтения CSV для работы. Я пытаюсь прочитать TSV, созданный улей, в искровой кадр данных, используя scala api.

Вот пример, который вы можете запустить в искровой оболочке (я сделал публичные данные образца, чтобы он мог работать для вас)

import org.apache.spark.sql.SQLContext
import org.apache.spark.sql.types.{StructType, StructField, StringType, IntegerType};

val sqlContext = new SQLContext(sc)
val segments = sqlContext.read.format("com.databricks.spark.csv").load("s3n://michaeldiscenza/data/test_segments")

В документации указано, что вы можете указать разделитель, но я не знаю, как указать эту опцию.

4b9b3361

Ответ 1

Все параметры параметров передаются в функции option(), как показано ниже:

val segments = sqlContext.read.format("com.databricks.spark.csv")
    .option("delimiter", "\t")
    .load("s3n://michaeldiscenza/data/test_segments")

Ответ 2

Используя Spark версии 2.0+, используйте встроенный CSV-коннектор, чтобы избежать зависимости от третьей стороны и лучшей производительности:

val spark = SparkSession.builder.getOrCreate()
val segments = spark.read.option("sep", "\t").csv("/path/to/file")