Hadoop程序实战:MapReduce与HBase应用详解

需积分: 9 0 下载量 194 浏览量 更新于2024-12-03 收藏 5.38MB ZIP 举报
资源摘要信息:"Hadoop-Programs:Hadoop 程序" 在讨论Hadoop程序时,首先需要了解Hadoop是一个开源框架,允许通过简单的编程模型在集群上分布式处理大量数据。Hadoop提供了可靠的存储和对应用程序数据的高吞吐量访问,适用于那些需要处理大数据集的应用程序。它由两个核心组件构成:Hadoop分布式文件系统(HDFS)和MapReduce编程模型。 描述中提到的程序列表及其功能说明,涉及了几个关键的Hadoop概念和实际案例: 1. 减速器中的Hadoop平均值:这个程序可能演示了如何在MapReduce中处理复杂的数据处理任务。减速器在这里可能指的是Reducer,MapReduce的第二阶段,负责对Mapper输出的中间数据进行汇总处理。 2. Hadoop基本字数:这是一个简单的MapReduce程序,用于统计文本数据中的单词数量。Hadoop的词频统计是初学者接触MapReduce最常使用的入门案例。 3. Hadoop多行读取:通常MapReduce框架默认处理文本文件时,是以行为单位进行读取的。这个程序可能演示了如何修改MapReduce的InputFormat以改变读取行为,比如读取两行作为一条记录,这在某些特定的数据处理场景下非常有用。 4. Hadoop将数组传递给减速器:在MapReduce中,数据传递通常通过键值对进行。如果需要在Mapper和Reducer之间传递复杂的数据结构,如数组,就需要使用特定的Writable类(如ArrayWritable)来实现序列化和反序列化。 5. Hadoop传递jar:在MapReduce作业中,通常需要将自定义的代码(例如,Mapper和Reducer实现)打包成jar文件。这个程序可能说明了如何将jar文件作为参数传递给MapReduce作业,并在作业中使用它。 描述还强调了Hadoop程序应该运行在Hadoop的主目录中,而HBase程序可以在任何目录中运行。这可能是因为HBase(一个开源的非关系型分布式数据库)是建立在HDFS之上的,但并非所有Hadoop的用户都需要深入了解其底层存储系统,因此HBase程序提供了更多的灵活性。 在标签“Java”中,我们可以看出这些Hadoop程序是用Java编写的。Java语言因其跨平台、面向对象和安全性等特性成为编写Hadoop程序的首选语言。Java开发者可以利用Hadoop的Java API来开发复杂的分布式数据处理应用。 最后,文件名称“Hadoop-Programs-master”提示我们这是一个包含多个Hadoop程序的主文件夹,可能包含了上述提到的各种MapReduce示例程序。这些程序可以作为学习和开发的资源,帮助开发者熟悉Hadoop编程模型。 在了解以上信息后,一个Hadoop开发人员应当具备以下知识点: - Hadoop分布式文件系统(HDFS)和其工作原理; - MapReduce编程模型及其在Hadoop中的实现; - Hadoop的InputFormat和OutputFormat的自定义方法; - Java编程基础以及如何在Hadoop环境中使用Java; - 如何编写自定义的MapReduce任务,包括Mapper和Reducer的实现; - 了解HBase及其与Hadoop生态系统的集成方法; - 如何在Hadoop集群上部署和运行MapReduce程序; - 使用工具如Hadoop工具轮等来运行和调试MapReduce任务。 掌握这些知识点是成为一位合格Hadoop开发者的前提。通过实践这些概念和程序示例,开发者将能更好地理解和运用Hadoop的强大功能,处理大数据问题。

sqoop import --connect jdbc:mysql://zhaosai:3306/mydb --username root --password jqe6b6 --table news --target-dir /user/news --fields-terminated-by “;” --hive-import --hive-table news -m 1出现错误Warning: /opt/programs/sqoop-1.4.7.bin__hadoop-2.6.0/../hbase does not exist! HBase imports will fail. Please set $HBASE_HOME to the root of your HBase installation. Warning: /opt/programs/sqoop-1.4.7.bin__hadoop-2.6.0/../hcatalog does not exist! HCatalog jobs will fail. Please set $HCAT_HOME to the root of your HCatalog installation. Warning: /opt/programs/sqoop-1.4.7.bin__hadoop-2.6.0/../accumulo does not exist! Accumulo imports will fail. Please set $ACCUMULO_HOME to the root of your Accumulo installation. Warning: /opt/programs/sqoop-1.4.7.bin__hadoop-2.6.0/../zookeeper does not exist! Accumulo imports will fail. Please set $ZOOKEEPER_HOME to the root of your Zookeeper installation. 23/06/10 16:18:23 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7 23/06/10 16:18:23 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead. 23/06/10 16:18:23 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset. 23/06/10 16:18:23 INFO tool.CodeGenTool: Beginning code generation Sat Jun 10 16:18:23 CST 2023 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. 23/06/10 16:18:24 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM news AS t LIMIT 1 23/06/10 16:18:24 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM news AS t LIMIT 1 23/06/10 16:18:24 INFO orm.CompilationManager: HADOOP_MAPRED_HOME is /opt/programs/hadoop-2.7.6 注: /tmp/sqoop-root/compile/84ba419f00fa83cb5d16dba722729d01/news.java使用或覆盖了已过时的 API。 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。 23/06/10 16:18:25 INFO orm.CompilationManager: Writing jar file: /tmp/sqoop-root/compile/84ba419f00fa83cb5d16dba722729d01/news.jar 23/06/10 16:18:25 WARN manager.MySQLManager: It looks like you are importing from mysql. 23/06/10 16:18:25 WARN manager.MySQLManager: This transfer can be faster! Use the --direct 23/06/10 16:18:25 WARN manager.MySQLManager: option to exercise a MySQL-specific fast path. 23/06/10 16:18:25 INFO manager.MySQLManager: Setting zero DATETIME behavior to convertToNull (mysql) 23/06/10 16:18:25 ERROR tool.ImportTool: Import failed: No primary key could be found for table news. Please specify one with --split-by or perform a sequential import with '-m 1'.

2023-06-11 上传