Zeppelin使用说明

布局介绍

在Zeppelin中以笔记本(notebook)的形式组织和管理交互式数据探索任务,一个笔记本(note)可以包括多个段(paragraph)。段是进行数据分析的最小单位,即在段中可以完成数据分析代码的编写以及结果的可视化查看。

下图所示笔记本为“应用向导”,图中红框部分为段。在段内,包括段标题、段代码编辑区、结果展示区和操作区。

Zeppelin使用说明_第1张图片

笔记本内和段内操作按钮说明如下所示:

Zeppelin使用说明_第2张图片


创建Note

1) 单击标题栏部分的“Notebook”,在下拉菜单中选择“新建note”。
Zeppelin使用说明_第3张图片

2) 在弹出的对话框中输入Note名称。
名称中可以使用包含绝对路径,系统会自动创建相关目录。
Zeppelin使用说明_第4张图片
 
3) 单击“创建”。
空白的Notebook如下所示:

  Zeppelin使用说明_第5张图片
光标所在处即为段的代码编辑区。

创建Paragraph

1) 单击标题栏部分的“Notebook”,在下拉菜单中选择一个已存在的Notebook。
2) 将关闭移动到一个已存在段的上方或下方,待鼠标从箭头变为手的样式时,单击鼠标,即可创建一个新的paragraph。
  Zeppelin使用说明_第6张图片
在上图中,鼠标为 “手”的样式,单击鼠标左键即可在原有paragraph下方创建出一个新的paragraph,如下图所示:
Zeppelin使用说明_第7张图片
 在上图中,从光标所在位置可以开始段代码的编辑。

3) 在段中写入如下代码。
val user_data = sc.textFile("/root/ml-100k/u.user")
user_data.first()
val user_fields = user_data.map(line => line.split("\\|"))
val num_users = user_fields.map(fields => fields(0)).count()
val num_genders = user_fields.map(fields => fields(2)).distinct().count()
val num_occupations = user_fields.map(fields => fields(3)).distinct().count()
val num_zipcodes = user_fields.map(fields => fields(4)).distinct().count()
val count_by_occupation = user_fields.map(fields => (fields(3),1)).reduceByKey(_ + _).collect().toList.sortBy(_._2).map(line => line._1+"\t"+line._2).toList.mkString("\n")
println("%table occupation\tsize\n" + count_by_occupation)
上述为scala代码,功能为统计“/root/ml-100k/u.user”文件中每种职业的用户数目。其中u.user文件样例如下所示,每行是以“|”分割,字段依次表示序号、年龄、性别、职业、ID。
1|24|M|technician|85711
2|53|F|other|94043
3|23|M|writer|32067
4|24|M|technician|43537
5|33|F|other|15213
6|42|M|executive|98101
7|57|M|administrator|91344
8|36|M|administrator|05201
9|29|M|student|01002
10|53|M|lawyer|90703

4) 单击 运行段中的代码。
运行结果如下所示:
Zeppelin使用说明_第8张图片

5) 以饼图展示结果。单击表格上方的 ,结果以饼图展示,如下图所示。

Zeppelin使用说明_第9张图片


6) 导出结果文件。单击图上方的下载按钮,并在下拉列表中选择CSV,即可将结果文件下载到本地。

你可能感兴趣的:(大数据)