Ответ 1
Все параметры параметров передаются в функции option()
, как показано ниже:
val segments = sqlContext.read.format("com.databricks.spark.csv")
.option("delimiter", "\t")
.load("s3n://michaeldiscenza/data/test_segments")
Я пытаюсь получить библиотеку 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")
В документации указано, что вы можете указать разделитель, но я не знаю, как указать эту опцию.
Все параметры параметров передаются в функции option()
, как показано ниже:
val segments = sqlContext.read.format("com.databricks.spark.csv")
.option("delimiter", "\t")
.load("s3n://michaeldiscenza/data/test_segments")
Используя Spark версии 2.0+, используйте встроенный CSV-коннектор, чтобы избежать зависимости от третьей стороны и лучшей производительности:
val spark = SparkSession.builder.getOrCreate()
val segments = spark.read.option("sep", "\t").csv("/path/to/file")