2016-11-18 28 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與您正在使用的合適版本的類路徑中。