2016-11-18 27 views
1

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

我想是这样的:

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文件的最好方法?

回答

1

我将数据库导出到一个CSV文件,DB Browser for SQLite

  1. Open Database按钮
  2. 选择您的数据库文件
  3. File → Export → Table(s) as CSV file,默认值应该是罚款

然后用spark-csv将CSV文件加载到Spark数据框中(请参阅示例链接)。

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

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与您正在使用的合适版本的类路径中。