问题标签 [mappers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mapreduce - 映射器、减速器、过滤器
我知道 map/reduce 算法及其用途。它使用称为 Mappers 和 Reducers 的函数,但我也发现人们使用过滤器这个词。
过滤器与映射器相同还是有一些显着差异?
php - 类表映射器设计 php 和 ZF
有没有更好的方法来使用映射器、现实生活对象和 table_objects 来使用 ZF。
这就是我使用 Zend 框架的方式:
用户类 -> 用户对象:
映射器:
控制器中的用法:列表操作:
或添加/保存操作:
xml - 如何从学说 2 中的现有数据库自动生成 xml 或 yaml 映射器...但不使用 cli
我是 ORM 世界的新手,并将学说 2 与 zf 项目集成。我已经阅读了学说文档和各种文章并将其集成:)。
我有一个现有的数据库,我可以从中生成我的映射器和实体。我愿意使用 XML/YAML 映射器而不是默认注释。
我在各处看到的都是 CLI 命令来生成映射器和实体,方法是在存在“教义.php(在教义官方文档中提供)”文件的 bin 目录中执行以下命令。
要生成映射器:
生成实体/模型类:
但我不想执行命令并生成映射器/实体。我正在寻找一个为我执行此操作的 PHP 脚本(通过在控制器中调用操作方法,例如:www.doctrineproj.com/admin/mdoels/autogenerate/)。
我们是否有任何 API 类或通过 php 代码执行此操作的任何方式,而不是执行 CLI 脚本。可能是通过调用
生成映射器:教义核心::generateMappers(dbParams,mapperDriver)
生成实体:教义核心::generateEntities(metaData)
或者
有没有办法使用系统调用从 php 脚本文件中执行所有 CLI 命令?
我尝试使用上述 cli 命令来使用 exec() 和 system() 。但是效果不好:(。
这是我用来从我的操作方法生成映射器的代码
公共函数自动生成操作(){
}
但是上面的代码没有在目标目录中创建映射器。
请建议我使用自动 php 脚本从数据库中自动生成映射器和实体的最佳解决方案。
期待最佳解决方案。
谢谢拉吉
hive - 在 Hive 上将最大映射器数设置为 1
我需要做一些从字符串到整数 id 的映射,我正在考虑做一个 UDF 函数并将这个字符串传递给它。为此,我需要一个映射器。
如何将映射器阻止为 1?
谢谢您的帮助
refactoring - 在多个 mapper.xml 中重用 MyBatis ResultMap
我想重新使用来自不同 *Mapper.xml 文件的特定文件,这些文件都以某种方式读取相同的对象。
我有一个名为 Project 的数据库表,我为它创建了以下 resultMap:
它在 ProjectMapper.xml 中效果很好,但是,现在我想创建一个 ClientWithProjectsMapper.xml,我想在其中 SELECT * FROM CLIENT, PROJECT where PROJECT.CLIENT_ID = CLIENT.ID 并让 Client 对象返回一个 List 对象。换句话说,我想用一条 SQL 获得一个 ClientWithProjects。
在我的映射中,我想重用我在 ProjectMapper.xml 中定义的 ProjectMap(无需复制/粘贴),但我不知道如何实现这一点。
我可以将 ProjectMap 分解为一个单独的文件,但我没有在 MyBatis 中找到任何工具来#include 其他文件。
关于如何做到这一点的任何想法?(我正在使用 Maven,是否有任何插件可以过滤查找#include 等的文件,并将文件的内容直接包含到正在处理的文件中?)。
谢谢。
-AP_
hadoop - 伪分布式:需要更改映射器节点的数量
我正在使用 Intel(R) Core(TM)2 Duo 处理器。我已经在伪分布式模式下安装了 hadoop。我编写了一个需要 50 个映射器节点的程序。是否可以在伪分布式模式下拥有 50 个映射器节点,或者我将被限制为 4 个节点(2 * 核心数)。我尝试将“mapred.tasktracker.map.tasks.maximum”设置为 50,但并发性没有变化。
java - 使用 Hadoop,如何更改给定作业的映射器数量?
所以,我有两个工作,工作 A 和工作 B。对于工作 A,我希望每个节点最多有 6 个映射器。但是,工作 B 有点不同。对于 Job B,我只能为每个节点运行一个映射器。这样做的原因并不重要——我们只是说这个要求是不可协商的。我想告诉 Hadoop,“对于作业 A,每个节点最多安排 6 个映射器。但对于作业 B,每个节点最多安排 1 个映射器。” 这可能吗?
我能想到的唯一解决方案是:
1) 在主 hadoop 文件夹下有两个文件夹,conf.JobA 和 conf.JobB。每个文件夹都有自己的 mapred-site.xml 副本。conf.JobA/mapred-site.xml 的 mapred.tasktracker.map.tasks.maximum 的值为 6。conf.JobB/mapred-site.xml 的 mapred.tasktracker.map.tasks.maximum 的值为 1。
2)在我运行作业 A 之前:
2a) 关闭我的任务跟踪器
2b) 将 conf.JobA/mapred-site.xml 复制到 Hadoop 的 conf 文件夹中,替换已经存在的 mapred-site.xml
2c)重新启动我的任务跟踪器
2d) 等待任务跟踪器完成启动
3) 运行作业 A
然后在我需要运行 Job B 时做类似的事情。
我真的不喜欢这个解决方案;它看起来很笨拙且容易失败。有没有更好的方法来做我需要做的事情?
hadoop - Hadoop 会始终在节点之间平均分配工作吗?
假设我有 200 个输入文件和 20 个节点,每个节点有 10 个映射器插槽。Hadoop 是否总是平均分配工作,每个节点将获得 10 个输入文件并同时启动 10 个映射器?有没有办法强制这种行为?
hadoop - 设置 Amazon EMR 应用程序的 Reducer 数量
我正在尝试在 Amazon EMR 下运行 wordcount 示例。
-1- 首先,我使用以下命令创建一个集群:
./elastic-mapreduce --create --name "MyTest" --alive
这将创建一个具有单个实例的集群并返回一个 jobID,比如说 j-12NWUOKABCDEF
-2- 其次,我使用以下命令启动作业:
./elastic-mapreduce --jobflow j-12NWUOKABCDEF --jar s3n://mybucket/jar-files/wordcount.jar --main-class abc.WordCount --arg s3n://mybucket/input-data/
--arg s3n://mybucket/output-data/
--arg -Dmapred.reduce.tasks=3
我的 WordCount 类属于包 abc。
这执行没有任何问题,但我只得到一个减速器。这意味着参数“mapred.reduce.tasks=3”被忽略。
有没有办法指定我希望我的应用程序使用的减速器数量?
谢谢你,尼拉杰。
networking - MapReduce 网络带宽
我正在尝试测量从映射器 Mapper_i 传输到减速器 Reducer_j 的每个 (key_a,value_a) 对所消耗的时间。
换句话说,我想知道 (key_a,value_a) 从离开 Mapper_i 到到达 Reducer_j 所用的时间?
反正有没有从映射器到减速器的传输时间?