大数据在不同应用场景的价值体现,举例说明大数据应用的场景和优势
本文系统阐述了Hue作为大数据分析交互平台的优势!欢迎你的批评。
hue web APP应用的架构hue是一个web APP应用,用来简化用户与Hadoop集群的交互。在Hue的技术架构中,通常hue APP应用采用B/S架构,这个web APP应用的后台不是用python编程语言编写的,如下图所示。大致分为三层,即前端视图层、Web服务层和后端服务层。在Web服务层和后端服务层之间使用RPC调用。
Hue集成大数据技术栈架构因为大数据框架比较多,一般用很多框架来解决一些问题,但是每个框架都有自己的web UI监控接口,可以支持不同的端口号如HDFS(50070)、yarn)、8088)、MapReduce)、19888)等等。在这种情况下,有一个统一的web UI界面来管理各个大数据的通用框架是非常有用的。这将使大数据的开发、监控和传输更加便捷。
从上图可以看出,Hue几乎可以支持所有的大数据框架,比如HDFS文件系统对中的页面(调用HDFS API进行添加/删除检查的操作)、HIVE UI接口和HiveServer2进行数据分析和查询)。YARN monitoring和Oozie workflow Hue集成了这些大数据技术栈,可以通过统一的Web UI进行访问和管理,大大提高了大数据用户和管理员的工作效率。下面总结一下Hue支持的功能。
默认情况下,hive query Dashboard基于轻量级sqlite数据库开发,用于管理会话数据、用户认证和授权,访问基于MySQL、Postgresql和Oracle文件浏览器的HDFSHive编辑器。支持基于Impala的APP应用,交互查询支持Spark编辑器和dashboard。脚本支持Pig编辑器,文件夹支持Metastore浏览器,可以可视化数据,查询数据,修改HBase表,可以访问Hive的元数据。此外,HCatalog支持作业浏览器,MapReduceJob(Mr1/Mr2-Yarn)支持作业设计器。MapReduce/Streaming/Java作业支持Sqoop 2编辑器和dashboard,ZooKeeper浏览器和编辑器支持MySql、PostGresql、Sqlite和Oracle数据库查询编辑器(Hue2.x或3.x)。Hue允许您创建solr集合作为图形界面,将数据导入solr,并创建数据搜索索引。提供了从Linux文件系统、HDFS等文件系统导入数据到Hive的人性化UI页面,导入时可以将数据转换成相应的Hive表。导入完成后,可以使用Hive SQL直接查询刚刚导入的数据。使用【^import-hive]hue】hue使用HDFS作为图形界面,包括导入、移动、重命名、删除、复制、修改、下载、排序和查看数据。由于Hue集成了Sqoop组件,可以通过Hue从其他文件系统批量导入或导出Hadoop中的数据。【3358 blog . cloud era.com/blog/2013/11/sqooping-data-with-hue/】可以在图形界面操作HBase,将数据导入HBase删除【3358 blog . cloud era.com/blog/2013/09/how-to-manage-h base-data-via-hue/】Hue数据查询和分析通过Hue,用户也可以使用自定义函数,然后使用SQL引用在Hue中执行。
使用Impala进行基于色调的数据分析
和Hive一样,Hue也提供了类似的图形界面,用于使用Impala进行数据查询和分析。形式类似于Hive。如下图所示。
使用色调和Pig进行数据分析
与Hue中的Hive和Impala编辑器一样,Pig函数和表达式可以直接在Hue中编辑和运行。用户可以自定义功能和参数。编辑器会自动补充Pig关键字、别名和HDFS路径。它还支持语法高亮显示。创建脚本后,单击提交脚本以供执行。用户可以查看执行进度、执行结果和日志。
Hue数据可视化Hue以Web图形界面的可视化格式显示搜索到的数据。显示格式包括表格、条形图、折线图、饼状图、地图等。使用这些可视化功能非常简单。例如,如果您使用Hive SQL查找相关数据并退出,您希望在条形图中显示它们。只需选择水平轴和垂直轴字段即可显示所需的条形图。
Hue提供了一个可视化的HDFS文件系统,使得在HDFS中对数据的操作可以通过UI界面完成,包括查看文件的内容。
类似地,Hue提供了一个可视化的UI界面来操作HBase中的数据。包括数据显示、各种版本的数据查看和其他编辑操作的UI界面,并提供显示数据的排序方式等。
下图显示了编辑HBase数据的可视化界面。
Hue提供了用户自定义仪表板的功能来显示数据。数据来源是搜索引擎Solr。通过拖拽的方式设置仪表盘(即数据显示的方式)。有文本框、时间表、饼状图、线条、地图、HTML等组件。支持图表实时动态更新。所有设置仪表盘的操作都是通过图形界面完成的。对于不同的显示模式,用户可以选择相应的字段,整个过程非常简单方便。新配置的仪表盘保存后,我们可以选择分享给有相应权限的用户,不同权限的用户看到的内容也不同。[^http://gethue.com/hadoop-search-dynamic-search-dashboards-with-solr/]
上图显示了拨号设置中地图显示的国家代码。
上图为:各种显示模式的表盘。
任务调度的Hue可视化Hue以可视化的方式向用户展示任务的执行状态,包括任务执行进度、任务执行状态(运行、成功、失败、被杀)、任务执行时间,还可以显示任务的标准输出信息、错误日志、系统日志等信息。您还可以查看该任务的元数据,并向用户显示正在运行或已完成的任务的详细执行情况。此外,Hue还提供了根据任务执行状态进行关键字搜索和分类搜索的功能。
上图显示:任务执行及相关信息展示。
上图显示:任务的日志显示。
Hue权限控制Hue使用HueServer2中的Sentry进行细粒度的基于角色的权限控制。这里的细粒度是指Sentry不仅可以对某个用户组或某个角色授予权限,还可以对某个数据库或数据库表授予权限,甚至可以对只能执行某类SQL查询的某个角色授予权限。Sentry不仅有用户组的概念,还引入了角色的概念,使企业能够轻松灵活地管理大量用户和数据对象的权限,即使这些用户和数据对象在频繁变化。另外,哨兵是“统一授权”的。具体来说,一旦定义了访问控制规则,它们就作用于多个框架(如Hive、Impala、Pig)。例如,我们只为某个角色或用户组授权Hive查询。我们可以让这个权限不仅适用于Hive,还适用于Impala、MapReduce、Pig和HCatalog。
Sentry的优势还在于自身对Hadoop生态系统组件的整合。如下图所示,我们可以在Hadoop中使用Sentry来控制多个框架的权限。
管理员可以使用浏览器修改相关权限。
Air Workflow工作流是一系列相互连接的自动业务活动或任务。工作流包括一组任务(或活动)及其相互顺序,以及流程、任务(或活动)的开始和结束条件以及每个任务(或活动)的描述。
气流目前在阿帕奇孵化器[^airflow-incubator]],但是已经被包括雅虎[^github-airflow]].]在内的很多公司使用
该平台具有与Hive、Presto、MySQL、HDFS、Postgres和S3交互的能力,并提供钩子使系统具有良好的可扩展性。
Airflow的优点是动态的:Airflow通过代码(python)而不是xml配置文件来配置管道,这使得用户可以编写代码来实例化动态管道。在执行特定的可重复任务时,使用代码定义任务(DAG)非常有用。用代码定义工作流是这个系统最强大的部分。这在自动访问新数据源而无需人工干预时非常有用。可扩展:可以轻松编辑、运行和扩展相关库文件,优雅:Airflow的管道精炼而直接,Airflow的核心使用参数化脚本和强大的Jinja模板引擎。可扩展:Airflow具有模块化结构,使用消息队列来集成任意数量的工作器。[^apache-airflow]]任务隔离:在分布式环境中,停机时有发生。Airflow通过自动重新启动任务来适应这种变化。到目前为止,一切顺利。当我们有一系列你想重置的任务时,你会发现这个功能简直就是救星。为了解决这个问题,我们的策略是建立一个子DAG。此子DAG任务将自动重试它自己的部分。因此,如果您将任务设置为从不使用子DAG重试,您可以通过子DAG操作获得整个DAG成功或失败的结果。如果这个重置是DAG的第一个任务,那么设置子DAG的策略将非常有效,这是设置具有相对复杂的依赖结构的子DAG的一个很好的方法。注意,sub-DAG操作任务不会正确标记失败的任务,除非使用GitHub最新版本的Airflow。解决这个问题的另一个策略是使用重试句柄,这样您的重试句柄每次都可以隔离任务并执行特定的任务。人性化:Airflow提供了非常人性化的Web UI。用户可以使用浏览器对工作流进行编辑、查看等操作,并提供了人性化的任务监控界面。
上图为:Airflow的web UI。
气流服务水平协议的其他有趣特性:用户可以设置某个任务或DAG(在一定时间内)必须成功执行。如果一个或多个任务没有在指定时间内成功完成,用户将收到电子邮件提醒。
XCom:XCom支持任务间的信息交换,从而实现更细微的控制和状态共享。
变量:这允许用户在Airflow中以任何键值形式定制变量。用户可以通过web UI或代码添加、删除和检查变量。将这些变量作为系统的配置项是非常有用的。[^http://bytepawn.com/airflow.html]
用Airflow下载安装Airflow是一件很简单的事情,用pip就可以了。用python语言写DAG(有向无环图)。Airflow提供了与Hive、Presto、MySQL、HDFS、Postgres和S3交互的接口。将DAG导入Airflow并开始执行。使用Airflow提供的web UI查看BAG的执行状态。操作结束后,还可以通过Web UI查看每个任务的执行状态,比如执行时间,方便进一步优化。[^https://www.pandastrike.com/posts/20150914-airflow]^import-hive
^http://blog.cloudera.com/blog/2013/11/sqooping-data-with-hue/
^http://blog.cloudera.com/blog/2013/09/how-to-manage-hbase-data-via-hue/
^http://bytepawn.com/airflow.html
^https://www.pandastrike.com/posts/20150914-airflow
^http://gethue.com/hadoop-search-dynamic-search-dashboards-with-solr/
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。