整套大数据学习资料(视频+笔记)百度网盘无门槛下载:http://www.edu360.cn/news/content?id=3377

 分类:hadoop

5.1.2. 可变的扩展

配置属性可以用其他属性或系统属性进行定义。例如,在第一个配置文件中的size-weight属性可以定义S{size}和${weight},而且这些属性是用配置文件中的值来扩展的: assertThat(conf.get("size-weight"), is(&...

9℃ 0评论

5.1.1 资源合并

使用多个资源文件来定义一个配置时,事情变得有趣了。在Hadoop中,这用于分离(core-default.xml文件内部定义的)系统默认属性与(core-site.xml文件中定义的)位置相关(site-specific)的覆盖属性。范例5-2中的文件定义了size属性和weig...

10℃ 0评论

5.1. 用于配置的API

Hqdoop中的组件是通过Hadoop自己的配置API来配置的。一个Configuration类的实例(可以在org.apache.hadoop.conf/包中找到)代表配置属性及其取值的一个集合。每个属性由一个String来命名,而值的类型可以是多种类型之一,包括Java基本类...

12℃ 0评论

第五章 MapReduce应用开发

MapReduce应用开发   在第2章中,我们介绍了MapReduce模型。本章中,我们从实现层面介绍在Hadoop中开发MapReduce应用程序。 MapReduce编程遵循一个特定的流程。首先写map函数和reduce函数,最好使用单元测试来确保函数的运行符合预...

11℃ 0评论

15.9.2. 导出和SequenceFile

之前的导出示例是从一个Hive表中读取源数据,该Hive表以分隔文本文件形式保存在HDFS中。Sqoop也可以从非Hive表的分隔文本文件中导出数据。例如,Sqoop可以导出MapReduce作业结果的文本文件。 Sqoop还可以将存储在SequenceFile中的记录导出到输出...

12℃ 0评论

15.9.1. 导出与事务

进程的并行特性决定了导出操作往往不是原子操作。Sqoop会生成多个并行执行的任务,分别导出数据的一部分。这些任务的完成时间各不相同,即使在每个任务内部都使用事务,不同任务的执行结果也不可能同时提交。 此外,数据库系统经常使用固定大小的缓冲区来存储事务数据,这使得一个任务中的所有操...

11℃ 0评论

15.9. 深入了解导出功能

Sqoop导出功能的架构与其导入功能的非常相似(参见图15-4)。在执行导出操作之前,Sqoop会根据数据库连接字符串来选择一个导出方法。对于大多数系统来说,Sqoop都会选择JDBC,然后,Sqoop会根据目标表的定义生成一个Java类;这个生成的类能够从文本文件中解析出记录,...

13℃ 0评论

15.8. 执行导出

在Sqoop中,“导入”(import)是指将数据从数据库系统移动到HDFS。与之相反,“导出”(export)是将HDFS作为数据源,而将一个远程数据库作为目标。在前面的几个小节中,我们导入了一些数据并且使用Hive对数据进行了分析。我们可以将分析的结果导出到一个数据库中,供其...

13℃ 0评论

12.8.2 写 UDAF

聚集函数比普通的UDF难写。因为值是在块内进行聚集的(这些块可能分布 在很多map或reduce任务中),从而实现时要能够把部分的聚集值组合成最 终结果。实现此功能的代码最好用示例来进行解释。让我们来看一个简单 的UDAF的实现,它用于计算一组整数的最大值(范例12-4)。 范...

13℃ 0评论

12.8.1 写 UDF

为了演示如何写和使用UDF,我们将写一个简单的剪除字符串尾字符的 UDF。Hive已经有一个内置的名为trim的函数,所以我们把自己的函数 称为strip。Strip Java类的代码如范例12-3所示。 范例12-3.剪除字符串尾字符的UDF package com...

13℃ 0评论

​ 12.8 用户定义函数

你要写的査询有时无法轻松(或根本不能)使用Hive提供的内置函数来表 示。通过写“用户定义函数”(user-defined function, UDF), Hive可以方便 地插入用户写的处理代码并在査询中调用它们。 UDF必须用Java语言编写。Hive本身也是用Java写的。...

11℃ 0评论

12.7.4 子查询

子査询是内嵌在另一个SQL语句中的SELECT语句。Hive对子査询的支持 很有限,它只允许子査询出现在SELECT语句的FROM子句中。 其他数据允许子查询出现在几乎任何表达式可以出现的地方,例如在SELECT语句带检索值的列表中或WHERE子句中。很多使用子查询的地方都可以重...

13℃ 0评论

12.7.3 连接

和直接使用MapReduce相比,使用Hive的一个好处在于Hive简化了常用 操作。对比在MapReduce中实现“连接”(join)要做的事情(参见8.3节), 在Hive中进行连接操作就能充分体现这个好处。 1.内连接 内连接是最简单的一种连接。输入表之间的每次匹配都会在输...

14℃ 0评论

15.7. 导入大对象

很多数据库都支持在一个字段中保存大量的数据,根据数据是文本还是二进制类型,通常将其保存在表中CLOB或BLOB类型的列中。数据库一般会对这些“大对象”进行特殊处理。大多数的表在磁盘上的物理存储都如图15-2所示。通过行扫描来确定哪些行匹配特定的査询条件时,通常需要从磁盘上读出每一...

13℃ 0评论

15.7. 导入大对象

很多数据库都支持在一个字段中保存大量的数据,根据数据是文本还是二进制类型,通常将其保存在表中CLOB或BLOB类型的列中。数据库一般会对这些“大对象”进行特殊处理。大多数的表在磁盘上的物理存储都如图15-2所示。通过行扫描来确定哪些行匹配特定的査询条件时,通常需要从磁盘上读出每一...

12℃ 0评论