将 EDP 示例从 sahara-extra 仓库移动到 sahara¶
https://blueprints.launchpad.net/sahara/+spec/edp-move-examples
将 Sahara EDP 示例从 sahara-extra 仓库移动到 sahara 仓库可以实现以下几点
因为它消除了代码重复,因为这些示例实际上是在集成测试中使用的
它移除了 sahara-extra 仓库中的一个元素,从而使我们更接近于废弃该仓库并简化我们的仓库结构
它将示例放在开发者更容易找到的地方,并简化了将示例与 Sahara 发行版捆绑的可能性
问题描述¶
目标是创建一个统一的 EDP 作业集合,该集合可用于教育用户和开发者如何创建/运行作业,并且也可以用作在集成测试期间提交的作业。
提议的变更¶
在 sahara 根目录下,我们应该创建一个新的目录
sahara/edp-examples
目录结构应遵循标准模式(名称本身并不重要,这只是一个说明)
subdirectory_for_each_example/
README.rst (what it is, how to compile, etc)
script_and_jar_files
src_for_jars/
how_to_run_from_node_command_line/ (optional)
expected_input_and_output/ (optional)
hadoop_1_specific_examples/
subdirectory_for_each_example
hadoop_2_specific_examples/
subdirectory_for_each_example
集成测试应该被修改为从 sahara/edp-examples 目录中提取作业文件。
以下是一些关于当前脚本和 jar 文件在 sahara-extra/edp-examples 与 sahara/tests/integration/tests/resources 之间的等效性说明
pig-job/example.pig == resources/edp-job.pig
pig-job/udf.jar == resources/edp-lib.jar
wordcount/edp-java.jar == resources/edp-java/edp-java.jar
替代方案¶
无
数据模型影响¶
无
REST API 影响¶
无
其他最终用户影响¶
示例将不再在 sahara-extra 仓库中找到。我们或许可以在那里放置一个 README 文件,说明“我们已迁移”,持续一个发布周期。
部署者影响¶
无
开发者影响¶
无
Sahara-image-elements impact¶
无
Sahara-dashboard / Horizon 影响¶
无
实现¶
负责人¶
目前还没有
工作项¶
这个问题包含几个组成部分
将示例移动到 sahara 仓库
将集成测试使用的任何作业合并到新的示例目录中,以创建一个全面的集合
为当前缺少它们的任何示例提供源代码和编译说明
使集成测试引用新的目录结构
确定哪些示例仅适用于特定 Hadoop 版本(如果有的话)。大多数示例适用于 Hadoop 1 和 Hadoop 2,但有些不适用。特定版本的示例应放在以版本命名的子目录中
依赖项¶
无
测试¶
测试将体现在集成测试中。如果 EDP 示例合并以及集成测试作业后集成测试成功运行,则更改将被视为成功。
文档影响¶
如果我们的当前文档引用了 EDP 示例,则这些引用应更改为新位置。如果我们的当前文档没有引用 EDP 示例,则应在开发者和/或用户指南中添加引用。
参考资料¶
无