小编Eva*_*mir的帖子

如何在Spark DataFrame中添加常量列?

我想在a中添加一个DataFrame具有任意值的列(对于每一行都是相同的).我使用时出现错误withColumn如下:

dt.withColumn('new_column', 10).head(5)
Run Code Online (Sandbox Code Playgroud)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-50-a6d0257ca2be> in <module>()
      1 dt = (messages
      2     .select(messages.fromuserid, messages.messagetype, floor(messages.datetime/(1000*60*5)).alias("dt")))
----> 3 dt.withColumn('new_column', 10).head(5)

/Users/evanzamir/spark-1.4.1/python/pyspark/sql/dataframe.pyc in withColumn(self, colName, col)
   1166         [Row(age=2, name=u'Alice', age2=4), Row(age=5, name=u'Bob', age2=7)]
   1167         """
-> 1168         return self.select('*', col.alias(colName))
   1169 
   1170     @ignore_unicode_prefix

AttributeError: 'int' object has no attribute 'alias'
Run Code Online (Sandbox Code Playgroud)

似乎我可以通过添加和减去其中一个列(因此它们添加到零)然后添加我想要的数字(在这种情况下为10)来欺骗函数按照我想要的方式工作:

dt.withColumn('new_column', dt.messagetype - dt.messagetype + 10).head(5)
Run Code Online (Sandbox Code Playgroud)
[Row(fromuserid=425, messagetype=1, dt=4809600.0, new_column=10),
 Row(fromuserid=47019141, messagetype=1, dt=4809600.0, new_column=10),
 Row(fromuserid=49746356, messagetype=1, dt=4809600.0, new_column=10),
 Row(fromuserid=93506471, messagetype=1, dt=4809600.0, …
Run Code Online (Sandbox Code Playgroud)

python dataframe apache-spark apache-spark-sql pyspark

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

如何在Amazon EMR上引导Python模块的安装?

我想做一些非常基本的事情,只需通过EMR控制台启动一个Spark集群,然后运行依赖于Python包的Spark脚本(例如,Arrow).这样做最直接的方法是什么?

python amazon-web-services emr apache-spark

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

rowsBetween和rangeBetween之间有什么区别?

来自PySpark文档rangeBetween:

rangeBetween(start, end)

定义从起点(包括)到结束(包括)的帧边界.

start和end都是当前行的相对值.例如,"0"表示"当前行",而"-1"表示当前行之前的一个关闭,"5"表示当前行之后的五个关闭.

参数:

  • 开始 - 边界开始,包括.如果这是-sys.maxsize(或更低),则该框架是无界的.
  • 结束 - 边界端,包括端点.如果这是sys.maxsize(或更高),则该框架是无界的.版本1.4中的新功能.

rowsBetween

rowsBetween(start, end)

定义从起点(包括)到结束(包括)的帧边界.

start和end都是当前行的相对位置.例如,"0"表示"当前行",而"-1"表示当前行之前的行,"5"表示当前行之后的第五行.

参数:

  • 开始 - 边界开始,包括.如果这是-sys.maxsize(或更低),则该框架是无界的.
  • 结束 - 边界端,包括端点.如果这是sys.maxsize(或更高),则该框架是无界的.版本1.4中的新功能.

例如rangeBetween,"1 off"与"1行"有何不同?

sql window-functions apache-spark apache-spark-sql pyspark

20
推荐指数
3
解决办法
7755
查看次数

在D3中绘制多边形数据的正确格式

我尝试过这种不同的方式,但似乎没有任何效果.这是我目前拥有的:

var vis = d3.select("#chart").append("svg")
         .attr("width", 1000)
         .attr("height", 667),

 scaleX = d3.scale.linear()
        .domain([-30,30])
        .range([0,600]),

scaleY = d3.scale.linear()
        .domain([0,50])
        .range([500,0]),

poly = [{"x":0, "y":25},
        {"x":8.5,"y":23.4},
        {"x":13.0,"y":21.0},
        {"x":19.0,"y":15.5}];

vis.selectAll("polygon")
    .data(poly)
    .enter()
    .append("polygon")
    .attr("points",function(d) { 
        return [scaleX(d.x),scaleY(d.y)].join(",")})
    .attr("stroke","black")
    .attr("stroke-width",2);
Run Code Online (Sandbox Code Playgroud)

我假设这里的问题是我将点数据定义为单个点对象的数组的方式,或者与我如何编写函数的方式有关 .attr("points",...

我一直在网上寻找一个如何绘制简单多边形的教程或示例,但我似乎无法找到它.

javascript d3.js

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

如何在PySpark DataFrame中将ArrayType转换为DenseVector?

尝试构建ML时出现以下错误Pipeline:

pyspark.sql.utils.IllegalArgumentException: 'requirement failed: Column features must be of type org.apache.spark.ml.linalg.VectorUDT@3bfc3ba7 but was actually ArrayType(DoubleType,true).'
Run Code Online (Sandbox Code Playgroud)

我的features列包含一个浮点值数组.听起来我需要将它们转换为某种类型的向量(它不是稀疏的,所以是DenseVector?).有没有办法直接在DataFrame上执行此操作,还是需要转换为RDD?

python apache-spark pyspark apache-spark-ml apache-spark-mllib

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

我如何在ggplot的背景中绘制一些东西?

我正在为篮球制作射门图.我需要弄清楚如何在背景中实际绘制篮球场的轮廓.有任何想法吗?

在此输入图像描述

在此输入图像描述

在此输入图像描述

r data-visualization ggplot2

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

在VueJS中存储auth令牌的最佳实践?

我的后端是由Django-Rest-Framework提供的REST API.我正在使用VueJS作为前端,并试图找出进行身份验证/登录的最佳实践.这可能是可怕的代码,但它可以工作(在一个名为的组件中Login.vue):

    methods: {
        login () {
            axios.post('/api-token-auth/login/', {
                username: this.username,
                password: this.pwd1
            }).then(response => {
                localStorage.setItem('token', response.data.token)
            }).catch(error => {
                console.log("Error login")
                console.log(error)
            })
            this.dialog = false
        }
    }
Run Code Online (Sandbox Code Playgroud)

使用localStorage这种方式有意义吗?此外,我想知道用户何时想退出,我打电话/api-token-auth/logout,我是否还需要从中删除令牌localStorage?实际上,我不清楚Django端或者浏览器/ Vue上的令牌是什么.

authentication django django-rest-framework vuejs2

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

如何在PySpark中爆炸?

假设我有一个DataFrame用户列和另一列用于他们写的单词:

Row(user='Bob', word='hello')
Row(user='Bob', word='world')
Row(user='Mary', word='Have')
Row(user='Mary', word='a')
Row(user='Mary', word='nice')
Row(user='Mary', word='day')
Run Code Online (Sandbox Code Playgroud)

我想将word列聚合成一个向量:

Row(user='Bob', words=['hello','world'])
Row(user='Mary', words=['Have','a','nice','day'])
Run Code Online (Sandbox Code Playgroud)

似乎我不能使用任何Sparks分组函数,因为它们期望后续的聚合步骤.我的用例是我想将这些数据提供给Word2Vec不使用其他Spark聚合.

apache-spark apache-spark-sql pyspark

9
推荐指数
4
解决办法
7110
查看次数

在函数内定义类是否可接受?

在Matplotlib的文档中有一个创建雷达图表的例子,我正在尝试理解设计.http://matplotlib.org/examples/api/radar_chart.html

"""
Example of creating a radar chart (a.k.a. a spider or star chart) [1]_.

Although this example allows a frame of either 'circle' or 'polygon', polygon
frames don't have proper gridlines (the lines are circles instead of polygons).
It's possible to get a polygon grid by setting GRIDLINE_INTERPOLATION_STEPS in
matplotlib.axis to the desired number of vertices, but the orientation of the
polygon is not aligned with the radial axes.

.. [1] http://en.wikipedia.org/wiki/Radar_chart
"""
import numpy as np

import …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

什么是Spark在写入CSV时对矢量值做了什么?

以下是将LogisticRegression模型中的预测写入json 的一些代码的结果:

    (predictions
        .drop(feature_col)
        .rdd
        .map(lambda x: Row(weight=x.weight,
                           target=x[target],
                           label=x.label,
                           prediction=x.prediction,
                           probability=DenseVector(x.probability)))
        .coalesce(1)
        .toDF()
        .write
        .json(
        "{}/{}/summary/predictions".format(path, self._model.bestModel.uid)))
Run Code Online (Sandbox Code Playgroud)

以下是一个生成JSON对象的示例:

{"label":1.0,"prediction":0.0,"probability":{"type":1,"values":[0.5835784358591029,0.4164215641408972]},"target":"Male","weight":99}
Run Code Online (Sandbox Code Playgroud)

我希望能够将相同的数据输出到CSV文件(最好只用probability.values[0](值数组的第一个元素).但是当我使用与上面相同的代码片段,但替换.json.csv,我得到以下结果:

1.0,0.0,"[6,1,0,0,280000001c,c00000002,af154d3100000014,a1d5659f3fe2acac,3fdaa6a6]",Male,99
Run Code Online (Sandbox Code Playgroud)

第3列发生了什么(一个字符串中引用了一堆值的数组)?

apache-spark pyspark apache-spark-mllib

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