Zeppelin单独1.5g的版本自带了Spark,所以可以使用local方式直接连接自带的spark。然后可以嵌入scala语言,进行数据统计,如下图所示:
新建一个note,Interpreter选择spark
可以将下列语句直接带入到一个paragraph中,如下图所示:
下面的代码来自(https://blog.csdn.net/majianxiong_lzu/article/details/89761187)
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")
运行后,在新的paragraph,运行类似SQL语句,如下图所示,能看到具体结果
%sql
select age,count(1) value from bank where age<30 group by age order by age