如何使用scala langauge从hdfs读取数据

时间:2018-05-11 13:49:36

标签: scala apache-spark apache-spark-sql

大家,

我是scala的新手,现在就学习。

任何人都可以帮助我如何使用scala语言从hdfs数据集中读取数据?数据是记录有限的任何“CSV”文件。

请问您如何使用scala语言阅读数据?

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:2)

你用Spark标记了这个问题,所以我假设你正在尝试使用它。我建议您先阅读Spark文档,了解如何使用Spark与您的数据进行交互。

https://spark.apache.org/docs/latest/quick-start.html

https://spark.apache.org/docs/latest/sql-programming-guide.html

但是,要回答您的具体问题,请在Spark中使用以下代码读取CSV文件:

val csvDf = spark.read.format("csv")
  .option("sep", ",")
  .option("header", "true")
  .load("hdfs://some/path/to/data.csv/")

您提供的路径将是HDFS上的CSV文件或包含多个CSV文件的文件夹。此外,Spark将接受其他类型的文件系统。例如,您也可以使用“file://”访问本地文件系统,或使用“s3://”来使用S3。加载数据后,您将拥有一个Spark DataFrame 对象,其中包含可用于与之交互的SQL方法。

注意,我提供了一个分隔符选项,只是为了告诉你如何操作,但它默认为“,”,所以它不是必需的。此外,如果您的CSV文件不包含标题,则需要自己指定模式并将标题设置为false。