小编Cha*_*guy的帖子

有条件地从列表中删除N个项目

当我进入我需要从列表中删除项目的场景时,我正在编写一些ASP.NET控件,只有当它们匹配某个条件时才会这样.

RemoveAll泛型List类的方法做得很好,但删除了与谓词指定的条件匹配的所有项.

如果我只想删除指定条件的特定数量的项目怎么办?您认为最好的方法是什么?

.net

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

如何在Hadoop中使用CompressionCodec

我正在做以下操作来从reducer压缩o/p文件:

OutputStream out = ipFs.create( new Path( opDir + "/" + fileName ) );
CompressionCodec codec = new GzipCodec(); 
OutputStream cs = codec.createOutputStream( out );
BufferedWriter cout = new BufferedWriter( new OutputStreamWriter( cs ) );
cout.write( ... )
Run Code Online (Sandbox Code Playgroud)

但是在第3行得到了空指针异常:

java.lang.NullPointerException
    at org.apache.hadoop.io.compress.zlib.ZlibFactory.isNativeZlibLoaded(ZlibFactory.java:63)
    at org.apache.hadoop.io.compress.GzipCodec.createOutputStream(GzipCodec.java:92)
    at myFile$myReduce.reduce(myFile.java:354)
Run Code Online (Sandbox Code Playgroud)

我也跟着JIRA一样.

你能否建议我做错了什么?

java compression hadoop mapreduce

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

Java中构造函数中的多个可选参数 - 构造函数的指数

这是我遇到过几次,但还没有找到令人满意的答案.这看起来很愚蠢,但谷歌搜索了一段时间后,我无法想出一些好的东西.

假设我有一个包含20个实例变量的类,每个变量都是可选的(将被初始化或不被初始化).

现在我希望我的构造函数处理所有的情况,如果有一些实例变量它很好我可以创建具有不同签名的构造函数,但是这里我有20个,所以我需要2 ^ 20 = 1,048,576个构造函数处理所有案件!那似乎......不是最优,你不同意吗?

所以,由于采用这种强力方法,我基本上必须构造2 ^ n个构造函数,其中n是实例变量的数量,我想找到更好的方法来实现它.

我已经看到了这个问题的几个解决方案,但我相信它们都是关于数据的假设,但在我的情况下,这些变量中的每一个都可以初始化或不是随机的,我在初始化之前无法知道.

我正在寻找一些我可以应用的设计模式或想法,以使我的代码更加可维护(不用担心我没有创建1M +构造函数:)

谢谢.

java constructor design-patterns

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

在蜂巢中排名()

我正在将SQL Server存储过程转换为HiveQL.

我怎样才能转换如下内容:

SELECT 
    p.FirstName, p.LastName,
    RANK() OVER (ORDER BY a.PostalCode) AS Rank
Run Code Online (Sandbox Code Playgroud)

sql-server hadoop hive

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

在Python <2.5中做三元条件的最佳方法

我必须承受Python版本<2.5(具体为2.4.3)

似乎三元运算符是从2.5开始在Python中引入的.对于那些不熟悉的人,Python> = 2.5中的三元运算符如下所示:

def do_ternary(flag):
    return "foo" if flag else "bar"
Run Code Online (Sandbox Code Playgroud)

我想知道一些在早期版本的Python中模拟这个的解决方案.我可以肯定用if ... else,但我正在寻找更多pythonic的东西,我不会羞于投入一些生产级代码:)

谢谢您的帮助 !

python ternary python-2.5

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

列表中重叠对的Python组合

我正在运行一个Python脚本作为Hadoop流媒体工作,但这篇文章与一些核心Python概念有关,而不是关于Hadoop的知识.

基本上我有一组行,我想找到重叠

$ cat sample.txt
ID1    2143,2154,
ID2    2913,14545
ID3    2143,2390,3350,5239,6250
ID4    2143,2154,2163,3340
ID5    2143,2154,2156,2163,3340,3711
Run Code Online (Sandbox Code Playgroud)

我想最终找到重叠的记录对并计算它们,例如:

2143,2154    3
2143,2163    2
2143,3340    2
2154,2163    2
2154,3340    2
2163,3340    2
Run Code Online (Sandbox Code Playgroud)

我这样做的方法是创建一个用Python编写的Hadoop流作业,其中mapper将基本输出给定行上的所有对组合,这将由reducer进一步处理.

我的问题实际上非常简单:如何在Python中有效地生成给定行中所有对的组合?请注意,在我的情况下,一对(x,y)与一对(y,x)相同.例如,ID3我想在我的映射器中生成以下列表:

[(2143,2390), (2143,2390), (2143,3350), (2143,5239), (2143,6250), (2390,3350), (2390,5239), (2390,6250), (3350,5239), (3350,6250), (5239,6250)]
Run Code Online (Sandbox Code Playgroud)

我当然可以通过一堆for循环来做到这一点,但它非常难看.我尝试过使用itertools,却无法正确使用它.有什么想法吗?

python combinations hadoop

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

HADOOP :: java.lang.ClassNotFoundException:WordCount

我正在使用eclipse导出map-reduce程序的jar文件.当我使用命令运行jar时

 hadoop jar hadoop-prog.jar WordCount /home/temp/input /home/temp/output
Run Code Online (Sandbox Code Playgroud)

它总是显示错误:

   Exception in thread "main" java.lang.ClassNotFoundException: WordCount
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:247)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:149)
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我从互联网上获得了wordcount的示例jar文件,它运行得很顺利.

我无法弄清楚问题出在哪里.

java hadoop mapreduce classnotfoundexception

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

使用'零'-memset()填充数组不起作用 -

这是代码

int x, y, n, i, j, l, m, o;
printf ("podaj szerokosc planszy na jakiej chcesz zagrac\n");
scanf ("%d", &x);
printf ("podaj dlugosc planszy na jakiej chcesz zagrac\n");
scanf ("%d", &y);
int plansza [x][y];
memset(plansza, 0, sizeof plansza);
int plansza2 [x][y];
memset(plansza2, 0, sizeof plansza2);

printf("plansza: \n");
for(j=0;j<x;j++)
{
    for(l=0;l<y;l++)
    {
        printf("%d",plansza[x][y]);
        printf(" ");
    }
    printf("\n");
}

printf("plansza2: \n");
for(m=0;m<x;m++)
{
    for(o=0;o<y;o++)
    {
        printf("%d",plansza2[x][y]);
        printf(" ");
    }
    printf("\n");
}
Run Code Online (Sandbox Code Playgroud)

这就是结果:
结果

不知道为什么memset()根本不起作用,我完全不知道为什么.我应该怎么做才能用零填充数组?

c arrays memset

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

Flask中有多个CSS文件?

您将如何获得模板以在Flask中使用特定的CSS文件?

admin.html = admin.css  
user.html = user.css
Run Code Online (Sandbox Code Playgroud)

我看过Flask文档,它们没有意义吗?

python flask

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

日历模块中全年的矩阵

我想使用Python的calendar模块生成一个给定年份中每个星期一和星期六的yyyy-mm-dd格式的日期列表(或者如果它更合适,则为其他东西,但我不希望引入外面的图书馆).

但是,为您提供全年数据的功能就像calendar.calendar()输出字符串格式的日历一样,不用说,这将是不合理的繁琐工作.

我想要的是calendar.monthcalendar,它返回一个矩阵,每个列表有7个条目,每个矩阵代表一周中有序的一天.然而,这对我周一和周六的问题来说也很麻烦,因为有些周会持续2个月(即月末和月初).

我想我可以制定一个尴尬的黑客来解决这个问题,但我希望有一个更好的方法我可以忽略它.

python calendar

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