小编eza*_*mur的帖子

如何将模型对象列表转换为pandas dataframe?

我有这个类的对象数组

class CancerDataEntity(Model):

    age = columns.Text(primary_key=True)
    gender = columns.Text(primary_key=True)
    cancer = columns.Text(primary_key=True)
    deaths = columns.Integer()
    ...
Run Code Online (Sandbox Code Playgroud)

打印时,数组看起来像这样

[CancerDataEntity(age=u'80-85+', gender=u'Female', cancer=u'All cancers (C00-97,B21)', deaths=15306), CancerDataEntity(...
Run Code Online (Sandbox Code Playgroud)

我想将它转换为数据框,这样我就可以用更合适的方式来玩它 - 聚合,计数,求和等.我希望这个数据框看起来像这样:

     age     gender     cancer     deaths
0    80-85+  Female     ...        15306
1    ...
Run Code Online (Sandbox Code Playgroud)

有没有办法轻松地使用numpy/pandas实现这一点,而无需手动处理输入数组?

python numpy pandas

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

Hadoop减速器没有被调用

所有

我有简单的map/reduce实现.调用Mapper并且它完成它的工作但是从不调用reducer.

这是mapper:

static public class InteractionMap extends Mapper<LongWritable, Text, Text, InteractionWritable> {

    @Override
    protected void map(LongWritable offset, Text text, Context context) throws IOException, InterruptedException {
        System.out.println("mapper");
        String[] tokens = text.toString().split(",");
        for (int idx = 0; idx < tokens.length; idx++) {
            String sourceUser = tokens[1];
            String targetUser = tokens[2];
            int points = Integer.parseInt(tokens[4]);
            context.write(new Text(sourceUser), new InteractionWritable(targetUser, points));
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的减速机:

static public class InteractionReduce extends Reducer<Text, InteractionWritable, Text, Text> {

    @Override
    protected void reduce(Text token, Iterable<InteractionWritable> counts, …
Run Code Online (Sandbox Code Playgroud)

hadoop mapreduce

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

如何使用Robotium测试点击软键盘"搜索"按钮?

我想用Robotium测试下一件事:在搜索栏中输入一些文字,我这样做,然后点击软键盘'搜索'按钮(android:imeOptions = actionSearch),我没有做到.我尝试使用solo.sendKey(Solo.Enter)但没有成功.我不确定这是否重要,但软键盘根本没有显示 - 我试图以某种方式实现,但也没有成功.

keyboard android robotium

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

为什么在DataFrame.rdd.map上使用DataFrame.select(反之亦然)?

使用selecta DataFrame来获取我们需要的信息和为了相同的目的映射底层RDD的每一行之间是否存在"机械"差异?

"机械"我指的是执行操作的机制.换句话说,实施细节.

提供两个哪个更好/更高效?

df = # create dataframe ...
df.select("col1", "col2", ...)
Run Code Online (Sandbox Code Playgroud)

要么

df = # create dataframe ...
df.rdd.map(lambda row: (row[0], row[1], ...))
Run Code Online (Sandbox Code Playgroud)

我正处于性能测试的中间,因此我将找出哪个更快但我想知道什么是实现差异和优点/缺点.

performance dataframe apache-spark rdd apache-spark-sql

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

Spark SQL 窗口超过两个指定时间边界之间的间隔 - 3 小时到 2 小时前

使用两个预定义边界在 Spark SQL 中指定窗口间隔的正确方法是什么?

我试图在“3 小时前到 2 小时前”的窗口中总结我的表中的值。

当我运行此查询时:

select *, sum(value) over (
partition by a, b
order by cast(time_value as timestamp)
range between interval 2 hours preceding and current row
) as sum_value
from my_temp_table;
Run Code Online (Sandbox Code Playgroud)

那个有效。我得到了我期望的结果,即落入 2 小时滚动窗口的值的总和。

现在,我需要的是让滚动窗口不绑定到当前行,而是考虑 3 小时前和 2 小时前之间的行。我试过:

select *, sum(value) over (
partition by a, b
order by cast(time_value as timestamp)
range between interval 3 hours preceding and 2 hours preceding
) as sum_value
from my_temp_table;
Run Code Online (Sandbox Code Playgroud)

但我得到extraneous input 'hours' expecting {'PRECEDING', …

window-functions apache-spark apache-spark-sql

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

S3 上带有美元符号的垃圾 Spark 输出文件

我有一个简单的 spark 作业,它从 s3 读取一个文件,需要五个并在 s3 中写回。我看到的是 s3 中总是有附加文件,在我的输出“目录”旁边,称为 output_$folder$。

它是什么?如何防止产生火花?这是一些代码来显示我在做什么......

x = spark.sparkContext.textFile("s3n://.../0000_part_00")
five = x.take(5)
five = spark.sparkContext.parallelize(five)
five.repartition(1).saveAsTextFile("s3n://prod.casumo.stu/dimensions/output/")
Run Code Online (Sandbox Code Playgroud)

完成工作后,我有一个名为 output 的 s3“目录”,其中包含结果和另一个名为 output_$folder$ 的 s3 对象,我不知道它是什么。

amazon-s3 apache-spark pyspark

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