小编Kra*_*tos的帖子

搜索量角器测试记录器

我想使用量角器测试Angularjs项目,我正在寻找测试记录器(如Selenium IDE),无需编写测试用例.有没有可用的工具?

testing recorder selenium-rc angularjs protractor

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

VectorAssembler不支持StringType类型scala spark convert

我有一个包含字符串列的数据框,我打算使用它作为k-means的输入使用spark和scala.我正在使用以下方法转换数据框的字符串类型列:

 val toDouble = udf[Double, String]( _.toDouble) 
 val analysisData  = dataframe_mysql.withColumn("Event", toDouble(dataframe_mysql("event"))).withColumn("Execution", toDouble(dataframe_mysql("execution"))).withColumn("Info", toDouble(dataframe_mysql("info")))              
 val assembler = new VectorAssembler()
    .setInputCols(Array("execution", "event", "info"))
    .setOutputCol("features")
val output = assembler.transform(analysisData)
println(output.select("features", "execution").first())
Run Code Online (Sandbox Code Playgroud)

当我打印analyzeData模式时,转换是正确的.但我得到一个例外:VectorAssembler不支持StringType类型 ,这意味着我的值仍然是字符串!如何转换值而不仅仅是模式类型?

谢谢

types scala vector apache-spark

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

把熊猫变成pyspark表达

我需要将两列Dataframe转换为按其中一列分组的列表.我在熊猫中成功完成了它:

expertsDF = expertsDF.groupby('session', as_index=False).agg(lambda x: x.tolist())
Run Code Online (Sandbox Code Playgroud)

但是现在我想在pySpark中做同样的事情如下:

expertsDF = df.groupBy('session').agg(lambda x: x.collect())
Run Code Online (Sandbox Code Playgroud)

我收到错误:

all exprs should be Column
Run Code Online (Sandbox Code Playgroud)

我已经尝试了几个命令,但我根本无法做到正确.并且spark dokumentation不包含类似的东西.

它的示例输入是数据帧:

session     name
1           a
1           b
2           v
2           c
Run Code Online (Sandbox Code Playgroud)

输出:

session    name
1          [a, b....]
2          [v, c....] 
Run Code Online (Sandbox Code Playgroud)

python group-by pandas apache-spark pyspark

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

SparkSession 和上下文混淆

我有一个 pyspark 2.0.0 脚本,定义了以下会话:

spark = SparkSession \
    .builder \
    .appName("Python Spark") \
    .master("local[*]")\
    .config("spark.some.config.option", "some-value") \
    .getOrCreate()
Run Code Online (Sandbox Code Playgroud)

我训练了一个随机森林模型,我想保存它。因此我调用以下方法:

model_rf.save( spark, "/home/Desktop")
Run Code Online (Sandbox Code Playgroud)

但它会抛出以下编译错误:

TypeError: sc should be a SparkContext, got type <class 'pyspark.sql.session.SparkSession'>
Run Code Online (Sandbox Code Playgroud)

当我定义 Spark 上下文时,如下所示:

from pyspark import SparkContext
sc =SparkContext()
model_rf.save( sc, "/home/Desktop")
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Cannot run multiple SparkContexts at once; existing SparkContext(app=Python Spark, master=local[*]) created by getOrCreate at <ipython-input-1-c5f83810f880>:24 
Run Code Online (Sandbox Code Playgroud)

python save apache-spark apache-spark-mllib

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

如何加入具有相同列的数据集并选择一个?

我有两个 Spark 数据帧,我将加入并在之后进行选择。我想选择其中一个数据框的特定列。但在另一个中存在相同的列名。因此,我收到了歧义列的异常。

我试过这个:

d1.as("d1").join(d2.as("d2"), $"d1.id" === $"d2.id", "left").select($"d1.columnName")
Run Code Online (Sandbox Code Playgroud)

和这个:

d1.join(d2, d1("id") === d2("id"), "left").select($"d1.columnName")
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

scala join apache-spark apache-spark-sql

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

s3策略允许在同一语句中使用多个IP

我试图允许从3个指定的IP地址连接到一个桶.当我这样添加它们时:

{
    "Version": "2008-10-17",
    "Id": "S3PolicyId1",
    "Statement": [
        {
            "Sid": "IPDeny",
            "Effect": "Deny",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::bucket/*",
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": "ip1",
                    "aws:SourceIp": "ip2",
                    "aws:SourceIp": "ip3"
                }
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

一旦保存,将保留三个中的一行,因此我只能有一个IP集.任何想法我怎么能这样做而不需要长时间添加新的声明和解决方法?

private ip-address amazon-s3 access-denied amazon-web-services

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

无法禁用日志Spark Eclipse Scala

我正在尝试在Scala代码中禁用Spark日志。我已尝试了所有可能找到的内容,但日志仍然出现。

这是我所做的:

我编辑了log4j.properties文件并更改了以下行:

log4j.rootCategory = WARNING, consolelog4j.rootCategory = ERROR, console

我还使用了spark上下文将级别设置为error或off:

sc.setLogLevel("OFF")
Run Code Online (Sandbox Code Playgroud)

或出错:

sc.setLogLevel("ERROR")
Run Code Online (Sandbox Code Playgroud)

我还导入了log4j.Levellog4jLogger

并做了:

var rootLogger = Logger.getRootLogger()
rootLogger.setLevel(Level.FATAL)
Run Code Online (Sandbox Code Playgroud)

最后一次尝试:

Logger.getLogger("org").setLevel(Level.OFF)
Logger.getLogger("akka").setLevel(Level.OFF)
Logger.getLogger("spark").setLevel(Level.OFF)
Run Code Online (Sandbox Code Playgroud)

但是我仍在日志中获取信息和警告。

有任何想法吗?我的Spark版本是2.0.0

eclipse logging log4j scala apache-spark

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

测试是否从控制器单元调用AngularJS调用promise

我正在使用karma在AngularJS中编写单元测试,我想测试以下控制器是否正在调用该服务.我不能使用spyOn,因为它是一个承诺,而不是一个功能.我不想测试服务本身,但我无法弄清楚我该怎么做.

    $scope.deleteItem= function(itemId){
    service.deleteItem(itemId)
    .then(function(){
      $scope.info("Deleted");
      $scope.getData();
    }, function(data){
      $scope.critical('error');
    });
};
Run Code Online (Sandbox Code Playgroud)

unit-testing angularjs karma-jasmine angular-promise

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