Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 如何使用spark shell读取.csv文件_Apache Spark_Spark Streaming - Fatal编程技术网

Apache spark 如何使用spark shell读取.csv文件

Apache spark 如何使用spark shell读取.csv文件,apache-spark,spark-streaming,Apache Spark,Spark Streaming,我使用的是带有hadoop预构建的spark单机版。我想知道我应该导入什么库以便读取.csv文件 我从github找到了一个库: 但当我输入import com.github.tototoshi.csv时,如自述文件所示,它不起作用。在导入之前,我是否应该做一些其他的事情,比如首先使用sbt构建它?我尝试使用sbt构建,但它也不起作用(我所做的是按照自述文件最后一部分中的步骤,将代码克隆到本地计算机,安装sbt并执行。/sbt,但不起作用)。只需启用spark csv包,例如 spark-she

我使用的是带有hadoop预构建的spark单机版。我想知道我应该导入什么库以便读取.csv文件

我从github找到了一个库:
但当我输入import com.github.tototoshi.csv时,如自述文件所示,它不起作用。在导入之前,我是否应该做一些其他的事情,比如首先使用sbt构建它?我尝试使用sbt构建,但它也不起作用(我所做的是按照自述文件最后一部分中的步骤,将代码克隆到本地计算机,安装sbt并执行。/sbt,但不起作用)。

只需启用spark csv包,例如

spark-shell --packages com.databricks:spark-csv_2.10:1.4.0
这将启用
csv
格式,例如

val df = sqlContext.read.format("csv").load("foo.csv")
如果你有一个标题

val df = sqlContext.read.format("csv").option("header", "true").load("foo.csv")

有关所有选项,请参见github repo

您应该重新表述您的问题,以解释它不起作用的原因,否则人们将继续投票

如果您想使用spark shell,可以使用“-packages”如@the.malkolm提供要在shell中动态导入的包列表。我仍然认为这个解决方案是不完整的,因为您不是在问如何在spark shell中修复它,而是如何在sbt中编译。我以前用过maven。我假设sbt中的情况没有太大的不同,除了这里您必须在build.sbt中添加以下行,然后再添加。/sbt

libraryDependencies += "com.github.tototoshi" %% "scala-csv" % "1.3.0"
您可以使用这一行尝试databricks和sbt提供的库

libraryDependencies += "com.databricks" %% "spark-csv_2.10" % "1.4.0"

如果这不起作用,我建议您仔细看看,因为这可能不是使用哪个库的问题,而是如何构建sbt项目的问题。

我认为com.databricks库非常好,我现在可以毫无问题地使用它。谢谢