将sqlite文件加载到DataFrame中

时间:2016-11-18 12:45:06

标签: sqlite apache-spark pyspark

我想将sqlite文件加载到Apache Spark中。

我试过这样:

emailsDf = spark.read.format('sqlite').load("/FileStore/tables/24ioztln1479471916526/database.sqlite")

但它不起作用:

java.lang.ClassNotFoundException: Failed to find data source: sqlite. Please find packages at https://cwiki.apache.org/confluence/display/SPARK/Third+Party+Projects

那么加载sqlite文件的最佳方式是什么?

2 个答案:

答案 0 :(得分:2)

.format('sqlite')不存在。你必须使用jdbc连接到sqlite。

val df = sqlContext.read.format("jdbc").options(
  Map(
    "url" -> "jdbc:sqlite:/FileStore/tables/24ioztln1479471916526/database.sqlite",
    "dbtable" -> "select * from your_table")).load()

运行应用程序时,必须在类路径中使用您正在使用的合适版本的sqlite-jdbc-X.jar。

答案 1 :(得分:1)

我会将数据库导出到包含DB Browser for SQLite的CSV文件:

  1. Open Database按钮
  2. 选择您的数据库文件
  3. File → Export → Table(s) as CSV file,默认值应该没问题
  4. 然后使用spark-csv将CSV文件加载到Spark数据框中(请参阅示例链接)。

    否则,您还可以尝试将JDBC连接到数据库的托管实例。