2016-12-13 21 views

回答

2

看看Zeppelin Tutorial和默認安裝的相關示例筆記本。在第一段中,它展示瞭如何爲API和SQL使用構建數據集。隨後的段落將使用相同的數據集。從0.6.2版本的教程筆記本:

import org.apache.commons.io.IOUtils 
import java.net.URL 
import java.nio.charset.Charset 

// Zeppelin creates and injects sc (SparkContext) and sqlContext (HiveContext or SqlContext) 
// So you don't need create them manually 

// load bank data 
val bankText = sc.parallelize(
    IOUtils.toString(
     new URL("https://s3.amazonaws.com/apache-zeppelin/tutorial/bank/bank.csv"), 
     Charset.forName("utf8")).split("\n")) 

case class Bank(age: Integer, job: String, marital: String, education: String, balance: Integer) 

val bank = bankText.map(s => s.split(";")).filter(s => s(0) != "\"age\"").map(
    s => Bank(s(0).toInt, 
      s(1).replaceAll("\"", ""), 
      s(2).replaceAll("\"", ""), 
      s(3).replaceAll("\"", ""), 
      s(5).replaceAll("\"", "").toInt 
     ) 
).toDF() 
bank.registerTempTable("bank") 

然後,您可以參考此用放電SQL:

%sql 
select * from bank limit 5 

或者直接使用銀行數據框:

%spark 
bank.show(5) 
相關問題