我想使用一个数据集并从中创建多个图表。 Zepplin 支持这个吗?

I'd like to use a dataset and create multiple graphs from it. Does Zepplin support this?

我想发出一个复杂的查询并从中创建多个图表。关于如何做到这一点有什么想法吗?

查看 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")

然后您可以使用 Spark SQL:

引用它
%sql
select * from bank limit 5

或直接使用银行DataFrame:

%spark
bank.show(5)