如何在一次加载中导入多个 csv 文件? [英] How to import multiple csv files in a single load?

查看:45
本文介绍了如何在一次加载中导入多个 csv 文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

考虑我有一个定义的架构,用于在一个文件夹中加载 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")

注意事项:

  1. 使用 format("csv")csv 替换 format("com.databricks.spark.csv")方法代替.com.databricks.spark.csv 格式已集成到 2.0.

  1. Replace format("com.databricks.spark.csv") by using format("csv") or csv method instead. com.databricks.spark.csv format has been integrated to 2.0.

使用 spark 而不是 sqlContext

这篇关于如何在一次加载中导入多个 csv 文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆