java大数据视频教程(一样的Java,不一样的HDInsight大数据开发体验)

大数据的热潮一直居高不下,每个人都在谈。你也许不知道,早些年这个领域可是有个非常「惹眼球」的段子:

简单翻译一下:大数据就像青少年之间的【敏感词】:每个人都在谈,可没人真正知道该怎么做,但每个人都认为其他人正在做,所以所有人都说自己也正在做……反正前美国麻省理工大学(MIT)教授,现美国杜克大学(Duke University)教授 Dan Ariely 是这么说的

那么,具体该怎么做呢?今天,我要教教大家如何运用 Java 语言,为 HDInsight 上的 Hadoop 开发一个 MapReduce 程序,借此玩转大数据

1首先开始科普

什么是 HDInsight

Azure HDInsight 是我爱线报网 Hortonworks Data Platform (HDP) 提供的 Hadoop 组件的云发行版,适用于对计算机集群上的大数据集进行分布式处理和分析。目前 HDInsight 可提供以下集群类型:Apache Hadoop、Apache Spark、Apache HBase、Apache Storm、Apache 交互式 Hive(预览版),以及其他包含脚本操作的自定义集群。

什么是 Hadoop

Hadoop 技术堆栈包括相关的软件和实用程序(Apache Hive、HBase、Spark 等),通常包含Hadoop 分布式文件系统 (HDFS)、适用于作业计划和资源管理的 YARN、适用我爱线报网于并行处理的MapReduce。Hadoop 最常用于已存储数据的批处理。

什么是 MapReduce

MapReduce 是一个旧软件框架,用于编写并行批量处理大数据集的应用程序。MapReduce 作业将分割大型数据集,并将数据组织成键值对进行处理。MapReduce 作业在 YARN 上运行。

什么是 Java

这个真有必要解释?

通过 Azure HDInsight 服务使用 Hadoop,可以获得很多便利,例如:减少了设置和配置工作,提高了可用性和可靠性,可在不中断作业的情况下进行动态缩放,可灵活使用组件更新和当前版本,并且能与其他 Azure 服务(包括 Web 应用和 SQL 数据库)集成我爱线报网

机智的你理解这些概念了么,接下来我们一起来用 Java 开发一个 MapReduce 程序,然后通过 HDInsight 服务运行吧。

2前期准备

首先你需要准备好 Java JDK 8 或更高版本以及 Apache Maven,随后按照下列方式配置开发环境:

1

设置环境变量

请在安装 Java 和 JDK 时设置以下环境变量(同时请注意检查这些环境变量是否已经存在并且包含正确的值):

JAVA_HOME -应该指向已安装 Java 运行时环境 (JRE)的目录。例如在 macOS、Unix 或 Linux系统上,值应该类似于 /usr/lib/jvm/java-7-oracle;在 Windows 我爱线报网中,值类似于c:\ProgramFiles (x86)\Java\jre1.7。PATH – 应该包含以下路径:

JAVA_HOME(或等效路径)

JAVA_HOME\bin(或等效路径)

安装 Maven 的目录

2

创建 Maven 项目

1、在开发环境中,通过中断会话或命令行将目录更改为要存储此项目的位置。

2、使用随同 Maven 一起安装的 mvn 命令,为项目生成基架。

此命令将使用 artifactID 参数指定的名称(此示例中为 wordcountjava)创建目录。此目录包含以下项:

pom.xml – 项目对象模型 (POM),其中包含用于生成项目的信息和配置详细信息。

src – 包含应用程序我爱线报网的目录。

3、删除

src/test/java/org/apache/hadoop/examples/apptest.java 文件,此示例不使用该文件。

3

添加依赖项

1、编辑 pom.xml 文件,并在<dependencies>部分中添加以下文本:

这会定义具有特定版本(在<version> 中列出)的库(在<artifactId> 中列出)。编译时会从默认Maven 存储库下载这些依赖项,此外也可使用 Maven 存储库搜索来查看详细信息。

<scope>provided</scope>会告知 Maven 这些依赖项不应与此应用程序一起打包,因为它们在运行时由 HDInsight 集群提供。

注意我爱线报网使用的版本应与集群上存在的 Hadoop 版本匹配。有关版本的详细信息,请参阅 HDInsight 组件版本控制文档。

2、将以下内容添加到 pom.xml 文件中。 此文本必须位于文件中的 <project>…</project>标记内;例如 </dependencies>和 </project>之间。

第一个插件配置 Maven Shade Plugin,用于生成 uberjar(有时称为 fatjar),其中包含应用程序所需的依赖项。 它还可以防止在 jar 包中复制许可证,复制许可证在某些系统中可能会导致问题。

第二个插件配置目标 Java 版本。

注意:HDInsight 3.4 及更早我爱线报网版本使用 Java 7,HDInsight3.5 使用 Java 8。

3、保存 pom.xml 文件。

3创建 MapReduce 应用程序

1、转到

wordcountjava/src/main/java/org/apache/hadoop/examples 目录,并将 App.java 文件重命名为 WordCount.java。

2、在文本编辑器中打开 WordCount.java 文件,然后将其内容替换为以下文本:

请注意,包名称为

org.apache.hadoop.examples,类名称为 WordCount。提交 MapReduce 作业时需要使用这些名称。

3、保存文件。

4构建应用程序

1、我爱线报网如果尚未到达此目录,请更改为 wordcountjava 目录。

2、使用以下命令生成包含该应用程序的 JAR 文件:

此命令将清除任何以前构建的项目,下载任何尚未安装的依赖项,然后生成并打包应用程序。

3、命令完成后,wordcountjava/target 目录将包含一个名为

wordcountjava-1.0-SNAPSHOT.jar 的文件。

注意

wordcountjava-1.0-SNAPSHOT.jar 文件是一种 uberjar,其中不仅包含 WordCount 作业,还包含作业在运行时需要的依赖项。

5上传 jar 运行 MapReduce 作业

使用以下命令将该jar 文件上传到 HDI我爱线报网nsight 头节点:

USERNAME 替换为集群的 SSH 用户名,将 CLUSTERNAME 替换为 HDInsight 集群名称。

此命令会将文件从本地系统复制到头节点。

随后通过下列步骤运行这个 MapReduce 作业:

1、使用 SSH 连接到 HDInsight。详细信息请参阅将 SSH 与 HDInsight 配合使用。

2、在 SSH 会话中,使用以下命令运行 MapReduce 应用程序:

此命令将启动 WordCountMapReduce 应用程序。输入文件是

/example/data/gutenberg/davinci.txt,输出目录是

/example/data/wordcount我爱线报网out。输入文件和输出均存储到集群的默认存储中。

3、作业完成后,请使用以下命令查看结果:

用户会收到单词和计数列表,其包含的值类似于以下文本:

搞定收工!

码字不易,如果您觉得文章写得不错,

请您 1.关注作者~ 您的关注是我写作的最大动力

2.私信我“大数据”

我将与您分享一套最新的大数据学习资源和全套开发工具

推荐阅读

给力项目线报网会员可免费下载 加入会员
友情提醒: 请尽量登录购买,防止付款了不发货!
QQ交流群:226333560 站长微信:qgzmt2
温馨提示:本站提供的一切软件、教程和内容信息都来自网络收集整理,仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,版权争议与本站无关。用户必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

给TA打赏
共{{data.count}}人
人已打赏
行业资讯

网上在线编辑器(几款非常实用的在线编辑网站,功能非常强大)

2024-5-29 20:13:33

行业资讯

暴雪将解散(暴雪停服:那些解散的工作室和面临赔偿的主播)

2024-5-29 20:33:53

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索