小编cae*_*301的帖子

如何为所有用户安装Anaconda python?

Anaconda python发行版非常方便部署科学计算环境(SCE)和切换python版本.默认情况下,安装将python定位到~/anaconda,SCE只能使本地用户受益.

但我需要的是提供一个完整的SCE机智Anaconda同时屏蔽系统范围的python版本,因为我的集群运行Spark并为我们团队中的多个用户提供服务.目前的Anaconda版本有可能吗?

夏鸣

python anaconda

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

在CDH 5上找不到Spark的类com.hadoop.compression.lzo.LzoCodec?

我已经在这个问题上工作了两天,仍然没有找到方法.

问题:我们通过最新的CDH 5安装的Spark总是抱怨丢失LzoCodec类,即使我在cloudera管理器中通过Parcels安装HADOOP_LZO也是如此.我们在CDH 5.0.0-1.cdh5.0.0.p0.47上运行MR1.

尝试修复:还添加了有关"使用LZO包裹 "的官方CDH文档中的配置,但问题仍然存在.

大多数谷歌帖子都提供了类似的建议.我还怀疑火花正在试图对抗那些未在那里激活的YARN; 但我无法在CMF或其他帖子中找到有关此主题的配置.

如果您知道如何处理它,请给我一些帮助.

apache-spark hadoop-lzo cloudera-cdh

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

在group_by操作之后,dplyr如何为每个组生成数据帧?

流式数据处理中dplyr包的流畅性使我感到非常震惊.最近,我急于为每个组ID生成一个新的数据帧,并将这些小数据帧组合成一个最终的较大数据帧.玩具示例:

input.data.frame %>%
    group_by(gid) %>%
    {some operation to generate a new data frame for each group} ## FAILED!!!!
Run Code Online (Sandbox Code Playgroud)

在dplyr中,mutate向每个组添加新列并为每个组summarise生成摘要的功能都无法满足我的要求.(我错过了什么?)

或者,使用ddplyplyr包,之前的dplyr交互,我可以通过它

ddply(input.data.frame, .(gid), function(x) {
     some operation to generate a new data frame for each group
}
Run Code Online (Sandbox Code Playgroud)

但是当我加载plyr包时,dplyr中的一些功能会被可用性掩盖.

r dplyr

6
推荐指数
2
解决办法
5731
查看次数

为什么在mac os上使用memchr()会发生越界

在mac os x上使用memchr()时遇到溢出问题.

这是我的测试代码:

#include <stdio.h>
#include <stdlib.h>

int main(void){
    char *content="http\r\nUser";
    int content_size = strlen(content);
    char *contmem = malloc(content_size+1);
    memset(contmem, '\0', content_size+1);
    memcpy(contmem, content, content_size);
    printf("%c\n", *(content+content_size));
    printf("%c\n", *(contmem+content_size));
    char *t = memchr(content, 't', content_size);
    printf("%c\n", *t);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

它在linux上正常工作,即我的fedora 16,并打印正确的t值.但是当我在Mac上运行相同的代码时,会发生分段错误!

用gdb调试后,我说的是:

(gdb) print t
$7 = 0xf4b <Address 0xf4b out of bounds>
Run Code Online (Sandbox Code Playgroud)

然后我尝试重写此测试文件中的memchr函数:

static char*
memchr(const char *data, int c, unsigned long len){
    char *tp = data;
    unsigned long i;
    for( i = 0; i<len; i++){
        if((int)*tp …
Run Code Online (Sandbox Code Playgroud)

c macos overflow

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

如何用AVRO org.apache.avro.mapreduce接口编程?

我的所有程序都使用hadoop的新MR1接口(org.apache.hadoop.mapreduce)编写,所以我也想使用avro的新的org.apache.avro.mapreduce.但它对我不起作用.

该程序接收avro数据的输入并输出相同的数据.我的程序背后的主要思想是将hadoop的Mapper和Reducer子类化为avro包装的键/值.这是我的工作驱动程序块:

    AvroJob.setInputKeySchema(job, NetflowRecord.getClassSchema());
    AvroJob.setOutputKeySchema(job, NetflowRecord.getClassSchema());

    job.setMapperClass(MyAvroMap.class);
    job.setReducerClass(MyAvroReduce.class);

    job.setInputFormatClass(AvroKeyInputFormat.class);
    job.setOutputFormatClass(AvroKeyOutputFormat.class);

    job.setMapOutputKeyClass(AvroKey.class);
    job.setMapOutputValueClass(AvroValue.class);

    job.setOutputKeyClass(AvroKey.class);
    job.setOutputValueClass(NullWritable.class);
Run Code Online (Sandbox Code Playgroud)

MyAvroMap和MyAvroReduce子类的定义分别是

public static class MyAvroMap extends Mapper<AvroKey<NetflowRecord>, NullWritable,
            AvroKey<CharSequence>, AvroValue<NetflowRecord>>{ ... }

public static class MyAvroReduce extends Reducer<AvroKey<CharSequence>, AvroValue<NetflowRecord>, 
                AvroKey<NetflowRecord>, NullWritable>{ ... }
Run Code Online (Sandbox Code Playgroud)

有效的NetflowRecord是我的avro记录类.我得到了例外

java.lang.ClassCastException: class org.apache.avro.hadoop.io.AvroKey
Run Code Online (Sandbox Code Playgroud)

通过阅读hadoop和avro的源代码,我发现JobConf抛出异常以确保map键是WritableComparable的子类,就像这样(hadoop1.2.1,line759)

WritableComparator.get(getMapOutputKeyClass().asSubclass(WritableComparable.class));
Run Code Online (Sandbox Code Playgroud)

但avro表明,AvroKey和AvroValue只是一个简单的包装器,没有子类化hadoop的Writable*接口.

我相信,即使没有测试,我也可以使用旧的mapred接口,但它不是我想要的.你可以给我一些关于使用纯org.apache.avro.mapreduce接口进行编程的例子或解释吗?

此致

贾敏

hadoop mapreduce avro

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

NLP中的英文单词分词?

我是NLP域的新手,但我目前的研究需要从URL地址进行一些文本解析(或称为关键字提取),例如假URL,

http://ads.goole.com/appid/heads
Run Code Online (Sandbox Code Playgroud)

我的解析有两个约束,

  1. 第一个"广告"和最后一个"头"应该是不同的,因为"头部"中的"广告"意味着更多的后缀而不是广告.

  2. "appid"可以解析为两部分; 这就是'app'和'id',它们都在互联网中具有语义含义.

我尝试过Stanford NLP工具包和Google搜索引擎.前者尝试用语法对每个单词进行分类,这意味着我的期望.谷歌引擎显示更多关于"appid"的智能,它给了我关于"app id"的建议.

我不能在Google搜索中查看搜索历史记录的引用,因此它给了我"app id",因为有很多人搜索过这些单词.我可以获得一些离线行方法来执行类似的解析吗?

更新:请跳过正则表达式建议,因为即使是简单的URL,也可能有未知数量的单词组合,例如"appid".

谢谢,

贾敏

nlp web text-segmentation

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

Python中新旧三元条件运算符之间的结果不同

关于三元条件算子的一个小问题让我困惑了很长时间.

例如代码(python 2.7):

>>> x, y = None, 3
>>> x, y
(None, 3)
>>> (x == None and x or y)
3
>>> (x != None and x or y)
3
>>> (x if x == None else y)
Run Code Online (Sandbox Code Playgroud)

第三行和第四行是旧式条件运算符.两者都给出了相同的结果.显然,前者采取"错误"的结果.根据python,也许没有错.但是在程序中犯错并且没有明确的错误很容易.

根据"Core python programming"(Wesley J. Chun)一书,第五行是2.5版的新版本,它的回归是正确的.

有人知道这个吗?

python

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