如何在一次加载中导入多个 csv 文件? [英] How to import multiple csv files in a single load?
问题描述
考虑我有一个定义的架构,用于在一个文件夹中加载 10 个 csv 文件.有没有办法使用 Spark SQL 自动加载表.我知道这可以通过为每个文件使用单独的数据框来执行 [下面给出],但是可以使用单个命令自动执行它而不是指向文件我可以指向文件夹吗?
Consider I have a defined schema for loading 10 csv files in a folder. Is there a way to automatically load tables using Spark SQL. I know this can be performed by using an individual dataframe for each file [given below], but can it be automated with a single command rather than pointing a file can I point a folder?
df = sqlContext.read
.format("com.databricks.spark.csv")
.option("header", "true")
.load("../Downloads/2008.csv")
推荐答案
使用通配符,例如将 2008
替换为 *
:
Use wildcard, e.g. replace 2008
with *
:
df = sqlContext.read
.format("com.databricks.spark.csv")
.option("header", "true")
.load("../Downloads/*.csv") // <-- note the star (*)
火花 2.0
// these lines are equivalent in Spark 2.0
spark.read.format("csv").option("header", "true").load("../Downloads/*.csv")
spark.read.option("header", "true").csv("../Downloads/*.csv")
注意事项:
使用
format("csv")
或csv
替换format("com.databricks.spark.csv")
方法代替.com.databricks.spark.csv
格式已集成到 2.0.
Replace
format("com.databricks.spark.csv")
by usingformat("csv")
orcsv
method instead.com.databricks.spark.csv
format has been integrated to 2.0.
使用 spark
而不是 sqlContext
这篇关于如何在一次加载中导入多个 csv 文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!