小编iha*_*nny的帖子

使用Pig/Hive进行数据处理而不是直接使用java map减少代码?

(甚至比Pig和Hive之间的差异更基本?为什么两者都有?)

我有一个数据处理管道,通过Hadoop 编写了几个Java map-reduce任务(我自己的自定义代码,源自Hadoop的Mapper和Reducer).它是一系列基本操作,如join,inverse,sort和group by.我的代码涉及并且不是很通用.

继续这种公认的开发密集型方法与使用多个UDF将所有内容迁移到Pig/Hive有什么优缺点?哪些工作不能执行?我会遭受性能下降(使用100s TB)吗?在维护时,我是否会失去调整和调试代码的能力?我可以将部分作业作为Java map-reduce进行管道化,并将其输入输出与Pig/Hive作业一起使用吗?

hadoop hive mapreduce apache-pig

5
推荐指数
1
解决办法
3107
查看次数

我怎么能判断我的hadoop配置参数io.sort.factor是太小还是太大?

在阅读http://gbif.blogspot.com/2011/01/setting-up-hadoop-cluster-part-1-manual.html后,我们得出结论,我们的6节点hadoop集群可以使用一些调整,并且io. sort.factor似乎是一个很好的候选者,因为它控制着一个重要的权衡.我们正计划进行调整和测试,但提前规划并了解预期和观察内容似乎是合理的.

它目前在10.我们怎么知道它导致我们太多的合并?当我们提出它时,我们怎么知道它导致太多文件被打开?

请注意,我们无法直接关注博客日志提取,因为它已更新为CDH3b2,我们正在处理CDH3u2,它们已经更改......

hadoop

5
推荐指数
1
解决办法
5559
查看次数

如何在猪中创建一个小的常数关系(表)?

有没有办法在猪中创建一个小的常数关系(表)?我只需要创建一个包含常量值的1元组的关系。类似于以下内容:

A = LOAD using ConstantLoader('{(1,2,3)}');
Run Code Online (Sandbox Code Playgroud)

谢谢,伊藤

apache-pig

5
推荐指数
1
解决办法
1671
查看次数

bash eval未检测到System.exit返回码

挣扎了一个小时...... java代码:

ULogger.info("throwing out 666!");
System.exit(666);
Run Code Online (Sandbox Code Playgroud)

bash包装:

eval ${COMMAND_TO_RUN}
ret_code=$?
printf "error code : [%d]" ${ret_code}
Run Code Online (Sandbox Code Playgroud)

输出:

[2012-11-30 15:20:12,971][INFO ] throwing out 666!
error code : [0]
Run Code Online (Sandbox Code Playgroud)

这是什么交易?谢谢...

[编辑]

${COMMAND_TO_RUN}IS

((java -Xmx9000m -Dtoday_nix=20121128 -cp "/usr/lib/hadoop/conf" com.paypal.risk.ars.linking.task_fw.BaseRunnableProcess 3>&1 1>&2 2>&3) | tee /dev/tty) > batches_errors.log
Run Code Online (Sandbox Code Playgroud)

java error-handling bash

5
推荐指数
1
解决办法
2854
查看次数

猪歪联合大表导致"拆分元数据大小超过10000000"

我们在一个小的(16M行)不同的表和一个大的(6B行)倾斜的表之间有一个猪连接.定期加入在2小时内完成(经过一些调整后).我们尝试using skewed并将性能提升到20分钟.

但是,当我们尝试更大的倾斜表(19B行)时,我们从SAMPLER作业中收到此消息:

Split metadata size exceeded 10000000. Aborting job job_201305151351_21573 [ScriptRunner]
at org.apache.hadoop.mapreduce.split.SplitMetaInfoReader.readSplitMetaInfo(SplitMetaInfoReader.java:48)
at org.apache.hadoop.mapred.JobInProgress.createSplits(JobInProgress.java:817) [ScriptRunner]
Run Code Online (Sandbox Code Playgroud)

这在我们每次尝试时都是可重现的using skewed,并且在我们使用常规连接时不会发生.

我们尝试过设置mapreduce.jobtracker.split.metainfo.maxsize=-1,我们可以在job.xml文件中看到它,但它不会改变任何东西!

这里发生了什么事?这是由分发样本创建的错误using skewed吗?为什么不帮助改变参数-1呢?

hadoop apache-pig skew

5
推荐指数
1
解决办法
3862
查看次数

熊猫分组所有功能?

我正在使用该pandas groupby+agg功能生成不错的报告

aggs_dict = {'a':['mean', 'std'], 'b': 'size'}
df.groupby('year').agg(aggs_dict)
Run Code Online (Sandbox Code Playgroud)

我想aggs_dict在整个数据帧上将其作为一个组使用,不除以年,例如:

df.groupall().agg(aggs_dict)
Run Code Online (Sandbox Code Playgroud)

要么:

df.agg(aggs_dict)
Run Code Online (Sandbox Code Playgroud)

但是找不到任何优雅的方法。.请注意,在我的实际代码中,代码aggs_dict非常复杂,因此操作起来很麻烦:

df.a.mean()
df.a.std()
df.b.size()
....
Run Code Online (Sandbox Code Playgroud)

我错过了一些简单而美好的东西吗?

python group-by pandas

4
推荐指数
3
解决办法
2577
查看次数

为什么 ORTOOLS 引导本地搜索,从考虑约束规划的可行解决方案开始?

我正在使用ORTOOLS库来解决 VRP 问题。我给它一个初始可行的解决方案来解决我的问题,满足我的问题的所有约束,但不是最优的。然后 ORTOOLS 执行 GUIDED_LOCAL_SEARCH 启发式,不断扰乱我的解决方案的一部分(有时可能使其不可行),直到它有望达到比我的初始解决方案更好的解决方案。

为什么要使用约束规划求解器?我的理解是,经典的约束规划从一个不可行(可能为空)的解决方案开始,传播约束以缩小我的变量的域,直到达到静止状态,然后做出决定。然后它再次迭代,直到解决问题或在到达死胡同时回溯(想想数独)。

在进行小扰动时,这些能力(传播、回溯)以什么方式需要?

optimization constraint-programming or-tools

4
推荐指数
1
解决办法
608
查看次数

如何在pandas中按每组两列计算唯一记录?

如何通过pandas中的两列计算唯一记录相同,仅限每组.我试过了:

df = pd.DataFrame({'a': [1,1,1,2,2], 'b':[10,10,20,30,30], 'c':[5,7,7,11,17]})
df.groupby('a').groupby(['b', 'c']).ngroups
Run Code Online (Sandbox Code Playgroud)

它抛出AttributeError.

python group-by pandas

3
推荐指数
1
解决办法
77
查看次数

如何克服Netezza缺乏独特的约束/参照完整性执行?

似乎缺乏对执行2个基本约束(唯一和外键)的支持,是失去许多工时调试和解决难题的原因.什么开始是一个简单,易于修复的问题(重复行/不一致的主要细节表)在我们的应用程序中甚至在我们的硬件中都没有被注意到,增长并引发复杂的边缘场景(例如,自我加入与重复可能导致通货膨胀和储存耗尽).

  • Netezza在我们的环境中有多种用途:生产,研究,qa和分期.当然,我们的ETL过程不能成熟,也无法验证所有这些场景中的所有约束.
  • 即使在生产中使用的最成熟的应用程序中,在ETL加载数据时也会验证数据,我们创建了一系列表,每个表都是其前任计算的结果.有时,数据完整性在此过程中被破坏,而不是在开始时(由于有缺陷的声明)

任何人都可以推荐一种方法/工具来避免这些麻烦吗?

database data-integrity netezza

2
推荐指数
1
解决办法
1万
查看次数

客户端计算机上的hadoop api配置

超级菜鸟.我有一台带有cdh3u1伪分发服务器的服务器机器,以及一台带有使用cdh3u1 API的java应用程序的客户端机器.

如何配置客户端与服务器通信?我一直在谷歌搜索几个小时,无法找到"客户端配置"文件的位置."hdfs-default","core-default"和"mapred-default"以及它们的"-site"对应物都看起来像server(namenode和datanode)配置给我.

它只是"多用途客户端服务器"配置,我应该挑选这些适合客户端的文件中的属性吗?他们是谁?可能在这里遗漏了一些大事

谢谢,Ido

hadoop hdfs

2
推荐指数
1
解决办法
4284
查看次数

OR-TOOLS RL VRPTW 问题中的移位长度约束?

我正在尝试在 OR-TOOLS RL VRPTW 问题中强制执行移位长度约束。班次长度是车辆从到达第一个位置到离开最后一个位置的服务(运输 + 等待 + 服务)的总时间。

看起来 aTime dimension是完美的选择,但是它累积了第一个位置的窗口开始,这并不好。

所以重新迭代 - 我想要一个累积运输时间、服务时间和等待时间的维度(对于每个位置的时间窗口),但我不希望它累积路线中第一个位置的窗口开始时间(因为这正是司机班次开始的地方。如果司机从节点 i 开始并在节点 j 结束,我希望约束为: time_dimension.CumulVar(j) - time_dimension.CumulVar(i) < shift_length

我缺少任何明显的建模技巧吗?

or-tools

2
推荐指数
1
解决办法
566
查看次数

在 jupyter 笔记本中并排显示 statsmodels plot_acf 和 plot_pacf

有人可以告诉我如何显示plot_acfplot_pacf并排?我在show=False争论和 matplotlib 疯狂的对象模型中挣扎......

matplotlib statsmodels jupyter-notebook

2
推荐指数
1
解决办法
3577
查看次数

虽然我没有itemReader和itemWriter的用法,但对我来说是春季批次?

春季新手:我有一系列批次

  • 从一些sql表中读取所有新记录(自上次执行以来)
  • 所有新记录上传到hadoop
  • 所有数据(旧的和新的)运行一系列map-reduce(pig)作业
  • 所有输出下载到本地并在所有输出上运行一些其他本地处理

重点是,我没有任何明显的"项目" - 我不想与我的数据中的特定文本行相关,我将它作为一个大块工作,并且不需要任何提交间隔和这样...

但是,我确实希望保持所有这些步骤松散耦合 - 例如,步骤a + b + c可能会成功几天并累积处理过的东西而步骤d一直失败,然后当它最终成功时它会读取并处理所有它的前面步骤的输出.

SO:我的"项目"是一个虚构的"工作项目",它将表示整个新数据?我自己维护一系列队列并在它们之间传递这些虚构的工作项目?

谢谢!

java spring batch-processing spring-batch

1
推荐指数
1
解决办法
515
查看次数