美文网首页
如何使用Zeppelin处理大数据|专家热文

如何使用Zeppelin处理大数据|专家热文

作者: ServiceHot | 来源:发表于2017-11-29 13:26 被阅读30次

    Zeppelin是一个交互式笔记本。它允许您将代码写入网页,执行代码,然后在表格或图形中显示结果。它还可以做更多事情,因为它能支持Markdown和JavaScript (Angular)。

    这样,您可以编写代码,对用户隐藏这些代码,创建漂亮的报告并进行分享。另外,您还可以创建实时报告和图形,并使用网页接口与用户共享。

    Zeppelin支持多种不同的语言解析器和特性,例如:

    Alluxio        Kylin

    Amgular     Lens

    BigQuery    Livy

    Cassandra    Markdown

    ElasticSearch    Pig

    Hadoop File操作    Psql

    Flink    Python

    Hbase    Linux shell (sh)

    Ignite    Spark

    JDBC

    您还可以添加第三方解析器。

    以下是Spark的例子。但首先看一个小Markdown:

    您可以点击箭头运行代码,它将以markdown格式显示文本,例如,与在Github中创建README.md文件的语法相同。

    安装Spark

    您可以将Zeppelin作为已经与Spark等捆绑的Jupyter笔记本运行。将其与apt-get或yum一同安装。它可以从此处下载。然后,解压并拷贝conf/zeppelin-site.xml.模板到conf/zeppelin-site.xml。

    然后,您可能必须将其监听的IP地址从0.0.0.0改为其他地址:

    zeppelin.server.addr

    77.235.46.77

    Server address

    然后启动:

    bin/zeppelin-daemon.sh

    关于安全的重要事项

    如果您设置了Zepplin,则可以通过公共互联网接入,接下来,为其设置密码非常重要。这是因为别人可以创建bash shell解析器,对您的服务器造成严重破坏。请遵循Zeppelin的这些简单指令去做。

    Spark举例

    以下列出了如何创建文本文件、将其转换为Spark数据框、然后使用SQL进行查询并创建表格显示格式和图形的简单例子。

    1. 首先从此处下载本例中使用的数据。然后将数据拷贝到Hadoop文件系统或本地文件系统中。

    2. 然后打开Zeppelin。它通常监听http://localhost:8080。

    3. 接下来点击“Create new note”。

    4. 这时选择Spark解析器,为笔记本命名。假设Spark主机与Zeppelin位于同一台服务器上。注意您可以更改解析器选项卡上的属性。

    5. 然后,将以下代码发布到下述单元格中。由于我们选择了解析器Spark,因此不必使第一行为%spark。注意:有一点让人讨厌的是,您不能使用鼠标右键选择粘贴。相反,必须使用 (-ctl-)(-v-)。

    以下粉色标出了一些按钮。从左向右、从上到下分别是:

    运行代码(称为段落)

    清除输出,即清除所显示的结果

    运行一个段落

    访问子菜单

    增加一个新段落

    import org.apache.spark.sql.types._

    import org.apache.spark.sql.{Row}

    var data = sc.textFile("file:/home/walker/Downloads/lpsa.data")

    val schemaStr = "a b c d e"

    val fields = schemaStr.split(" ").map(fieldName => StructField(fieldName, DoubleType, nullable = true))

    val schema = StructType(fields)

    val parsedData = data.map( l => l.replace(",", " ").split(" "))

    case class DataClass(a: Double, b: Double, c: Double, d: Double, e: Double)

    var x = parsedData.map(b => DataClass(b(0).toDouble, b(1).toDouble, b(2).toDouble, b(3).toDouble, b(4).toDouble))

    var df = x.toDF()

    df.createTempView("df")

    6. 在解析器的下一个段落中,您可以在刚才注册为临时表格的表格中再次使用常规SQL。在下方输入代码,然后运行。接下来查看以下数据。您这时可以看到可用于创建图形的按钮。

    %sql

    select * from df

    点击饼图图标制作饼图。(我们此处仅选择两栏。在设置选项下进行更改。)

    根据我的经验,Zeppelin存在缺陷。它有时会丢失笔记本,不能始终更新变量,而且图形特性会崩溃。因此,您可能必须删除段落,然后重新创建,这样才能修复错误。另外,您还需要将笔记本导出为JSON格式进行备份。

    在这里,您可以练习使用Spark、JDBC、其他大数据数据库、或者%angular,而且如果您了解HTML和JavaScript,可以添加推送按钮,或者输入字段等。您还可以将Zeppelin与您的Github账号连接,将代码保存在账号中,并支持不同的版本。您还可以将Zeppelin存储在Amazon S3或Windows Azure中。如果丢失,由于它存储在/notebook 文件夹中,名称与笔记本的URL相同,因此,对于http://localhost:8080/#/notebook/2CJJYEZTG,它以JSON格式存储在文件夹notebook/2CJJYEZTG中。

    相关文章

      网友评论

          本文标题:如何使用Zeppelin处理大数据|专家热文

          本文链接:https://www.haomeiwen.com/subject/jkmubxtx.html