小编whi*_*eam的帖子

是否有可能在PySpark中获取当前的spark上下文设置?

我正试图找到spark.worker.dir当前的道路sparkcontext.

如果我明确地将其设置为a config param,我可以将其读回来SparkConf,但无论如何都要config使用PySpark?来访问完整的(包括所有默认值)?

config apache-spark pyspark

54
推荐指数
9
解决办法
7万
查看次数

是否可以在实例化对象之前检查故事板中是否存在标识符?

在我的代码中我有这一行,但我想知道是否有办法在我使用" instantiateViewControllerWithIdentifier "方法之前检查@"SomeController"是否存在.如果标识符不存在则应用程序崩溃.

如果没有一个好的方法,这不是一个大问题,我可以更加小心,不要吝啬标识符名称,但我希望我能更优雅地处理它.

UIViewController *newTopViewController = [self.storyboard    instantiateViewControllerWithIdentifier:@"SomeController"];
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c ios uistoryboard

14
推荐指数
4
解决办法
4504
查看次数

如何在ElasticSearch 1.0中的聚合范围查询中使用doc_count

我的ES集群中有很多用户生成的事件.每个事件都包含用户的UUID.

我正在尝试编写一个查询,根据每个用户生成的事件数将用户分为低,中和高活动.

我正在使用此查询来获取每个用户生成的事件数:

{
    "aggs" : {
        "users" : { 
            "terms" : { "field" : "user_id.raw" }
         }
    }
}
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作,但我需要使用之前的结果"doc_count"将结果转换为范围查询,以便我可以将每个用户分类为低,中,高活动桶.

我尝试了一些方法来使用子聚合访问doc_count字段,但从未设法让它工作.我认为这将是一个相当常见的用例,但似乎无法破解它,所以任何帮助将非常感激.

syntax range aggregation elasticsearch

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

有没有办法在dask中获得每组最大的项目?

我有以下数据集:

location  category    percent
A         5           100.0
B         3           100.0
C         2            50.0
          4            13.0
D         2            75.0
          3            59.0
          4            13.0
          5             4.0
Run Code Online (Sandbox Code Playgroud)

而我正试图在按位置分组的数据框中获取最大类别的项目.即如果我想要每组的前2个最大百分比,输出应该是:

location  category    percent
A         5           100.0
B         3           100.0
C         2            50.0
          4            13.0
D         2            75.0
          3            59.0
Run Code Online (Sandbox Code Playgroud)

看起来在熊猫中这是相对直接的使用,pandas.core.groupby.SeriesGroupBy.nlargest但是dask没有nlargestgroupby的功能.一直在玩,apply但似乎无法让它正常工作.

df.groupby(['location'].apply(lambda x: x['percent'].nlargest(2)).compute()

但我只是得到错误 ValueError: Wrong number of items passed 0, placement implies 8

grouping top-n pandas dask

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

为什么"sc.addFile"和"spark-submit --files"没有向所有工作人员分发本地文件?

我有一个csv文件"test.csv",我试图复制到群集上的所有节点.

我有一个4节点的apache-spark 1.5.2独立集群.有4个工人,其中一个节点也有主要/驱动程序以及工作人员.

如果我跑:

$SPARK_HOME/bin/pyspark --files=./test.csv 或者从REPL接口内执行 sc.addFile('file://' + '/local/path/to/test.csv')

我看到火花日志如下:

16/05/05 15:26:08 INFO Utils: Copying /local/path/to/test.csv to /tmp/spark-5dd7fc83-a3ef-4965-95ba-1b62955fb35b/userFiles-a4cb1723-e118-4f0b-9f26-04be39e5e28d/test.csv
16/05/05 15:26:08 INFO SparkContext: Added file file:/local/path/to/test.csv at http://192.168.1.4:39578/files/test.csv with timestamp 1462461968158
Run Code Online (Sandbox Code Playgroud)

在主/驱动程序节点的单独窗口中,我可以使用ls轻松找到文件,即(ls -al /tmp/spark-5dd7fc83-a3ef-4965-95ba-1b62955fb35b/userFiles-a4cb1723-e118-4f0b-9f26-04be39e5e28d/test.csv).

但是,如果我登录到工作者,则没有文件,/tmp/spark-5dd7fc83-a3ef-4965-95ba-1b62955fb35b/userFiles-a4cb1723-e118-4f0b-9f26-04be39e5e28d/test.csv甚至没有文件夹/tmp/spark-5dd7fc83-a3ef-4965-95ba-1b62955fb35b

但是apache spark web界面显示了所有节点上正在运行的作业和分配的核心,控制台中也没有出现其他警告或错误.

file cluster-computing distribute apache-spark

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

如何处理我的antlr语法和目标语言之间冲突的函数名称

我有一个包含eval和round函数名的语法,这些函数在python中已经是函数,当我尝试使用以下函数生成监听器:

antlr4 -listener -lib/src/grammar -Dlanguage = Python3 -o/gen -no-visitor /src/grammar/Grammar.g4

我得到以下内容:

error(134):Grammar.g4:138:0:符号与目标语言或运行时错误中生成的代码冲突(134):Grammar.g4:174:0:符号eval与目标语言中生成的代码或运行时错误冲突( 134):Grammar.g4:62:3:符号eval与目标语言或运行时错误中生成的代码冲突(134):Grammar.g4:134:3:符号与目标语言或运行时生成的代码发生冲突

我不能简单地将eval/round更改为其他名称,因为我正在编写不同dls的克隆.是否可以创建命名空间或以其他方式解决此问题而不更改我的语法语言语法?

python grammar parsing name-conflict antlr4

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

获取指向类方法的指针,以便可以将其作为回调传递给C函数

我正在使用libssh2并在我的SSHWrapper对象之外定义了一个回调函数:

static void kbd_callback(const char *name, int name_len, const char *instruction, int instruction_len, int num_prompts, const LIBSSH2_USERAUTH_KBDINT_PROMPT *prompts, LIBSSH2_USERAUTH_KBDINT_RESPONSE *responses, void **abstract);
Run Code Online (Sandbox Code Playgroud)

在我的SSHWrapper对象中,我执行以下操作,在验证会话时传递回调函数:

/* Create a session instance */
LIBSSH2_SESSION *session = libssh2_session_init_ex(NULL, NULL, NULL, self);
while ((rc = libssh2_userauth_keyboard_interactive(session, userChar, &kbd_callback)) == LIBSSH2_ERROR_EAGAIN);
Run Code Online (Sandbox Code Playgroud)

我想知道的是,是否可以kbd_callback()在我的对象中移动函数,以便它是一个类方法:+(void) kbd_callback:...

如果是这样,我如何获取该函数的地址以将其传递给C函数libssh2_userauth_keyboard_interactive()

c function-pointers objective-c libssh2

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

如何在objective-c中的指定时间唤醒线程

我正在Objective-c中编写一个ssh包装器,我正在尝试实现一个命令应该执行的maxTime.我实现它的方式是:

主线程:

  1. 计算超时
  2. 创建asyncThread(GCD队列)以执行命令并解析返回的数据
  3. waitForTimeoutOrSignal
  4. 返回结果

AsyncThread:

  1. 执行命令
  2. 获得返回的数据
  3. 如果收到正确的数据信号MainThread

在C#中,我使用ManualResetEvents向MainThread发出信号,取得了很大的成功.在Objective-C中,我能找到的最接近的类是NSCondition,但似乎它不是为线程间通信而构建的.

事实上,我得到:

2012-05-22 00:31:05.761 libssh2-for-iOS [60821:11303]** - [NSCondition解锁]:条件('(null)')从没有锁定它的线程解锁

2012-05-22 00:31:05.763 libssh2-for-iOS [60821:11303]**打破_NSLockError()进行调试.

当我尝试使用它时.是否有另一种方法可以使用NSCondition或更好的方式让线程睡眠,直到它收到某种信号?

multithreading locking objective-c manualresetevent nscondition

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