小编B.M*_*.W.的帖子

Python多处理程序杀死进程

我正在学习如何使用Python多处理库.但是,当我浏览一些示例时,我最终在后台运行了许多python进程.

其中一个示例如下所示:

from multiprocessing import Process, Lock

def f(l, i):
    l.acquire()
    print 'hello world', i
    l.release()

if __name__ == '__main__':
    lock = Lock()

    for num in range(10):   # I changed the number of iterations from 10 to 1000...
        Process(target=f, args=(lock, num)).start()
Run Code Online (Sandbox Code Playgroud)

现在这是我的'TOP'命令的屏幕截图:

88950  Python       0.0  00:00.00 1    0    9     91    1584K  5856K  2320K  1720K  2383M  82441 1     sleeping 1755113321 799
88949  Python       0.0  00:00.00 1    0    9     91    1584K  5856K  2320K  1720K  2383M  82441 1     sleeping 1755113321 798 …
Run Code Online (Sandbox Code Playgroud)

python macos multiprocessing

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

Solrj无法从Solr Cloud示例连接到zookeeper

我通过运行包含的示例启动了Solrcloud bin/solr -e cloud,在这种情况下,我设法启动了三个节点Solr云并创建了一个gettingstarted集合:

http://localhost:8983/solr/admin/collections?action=CREATE&name=gettingstarted&numShards=3&replicationFactor=2&maxShardsPerNode=2&collection.configName=gettingstarted
Run Code Online (Sandbox Code Playgroud)

我认为它带有一个在端口9983上运行的嵌入式zookeeper,因为我在启动云时看到了这个输出:

...
Starting up Solr on port 7574 using command:
bin/solr start -cloud -p 7574 -s "example/cloud/node2/solr" -z localhost:9983
Waiting up to 30 seconds to see Solr running on port 7574 [/] 
... 
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用SolrJ连接到SolrCloud时,它失败并显示错误消息:

Exception in thread "main" org.apache.solr.common.SolrException: Cannot connect to cluster at localhost:9983/solr: cluster not found/not ready
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

任何人都可以帮我理解这里发生了什么?

solr solrj apache-zookeeper

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

linux命令查找总磁盘和硬盘数字

在bash中是否有一个命令可以为您提供磁盘空间/硬盘驱动器号的总数.

我知道df命令非常有用,但输出太冗长:

    # df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda4       721G  192G  492G  29% /
    tmpfs           129G  112K  129G   1% /dev/shm
    /dev/sda1       194M   92M   93M  50% /boot
    /dev/sdj1       917G  547M  870G   1% /data10
    /dev/sdk1       917G  214G  657G  25% /data11
    /dev/sdl1       917G  200M  871G   1% /data12
    /dev/sdm1       917G  200M  871G   1% /data13
    /dev/sdn1       917G  200M  871G   1% /data14
    /dev/sdo1       917G  200M  871G   1% /data15
    /dev/sdp1       917G   16G  855G   2% /data16
    /dev/sdb1       917G  4.6G  866G   1% /data2 …
Run Code Online (Sandbox Code Playgroud)

linux bash redhat

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

Spark Python性能调优

我使用以下命令为Spark开发了一个iPython笔记本:

ipython notebook --profile=pyspark
Run Code Online (Sandbox Code Playgroud)

sc使用Python代码创建了一个SparkContext,如下所示:

import sys
import os
os.environ["YARN_CONF_DIR"] = "/etc/hadoop/conf"
sys.path.append("/opt/cloudera/parcels/CDH/lib/spark/python")
sys.path.append("/opt/cloudera/parcels/CDH/lib/spark/python/lib/py4j-0.8.1-src.zip")
from pyspark import SparkContext, SparkConf
from pyspark.sql import *

sconf = SparkConf()
conf = (SparkConf().setMaster("spark://701.datafireball.com:7077")
    .setAppName("sparkapp1")
    .set("spark.executor.memory", "6g"))
sc = SparkContext(conf=conf)
sqlContext = SQLContext(sc)
Run Code Online (Sandbox Code Playgroud)

我想spark.executor.memory在文件中更好地理解

每个执行程序进程使用的内存量,格式与JVM内存字符串相同

这是否意味着在一个节点上运行的所有进程的累积内存不会超过该上限?如果是这种情况,我应该将该数字设置为尽可能高的数字吗?

这里还列出了一些属性,是否有一些其他参数我可以从默认调整以提升性能.

谢谢!

apache-spark pyspark

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

Python - 删除(转换为白色)图像的非黑色像素

我有一个 png 文件,我想删除所有非黑色像素(将非黑色像素转换为白色)。我怎样才能在Python中轻松地做到这一点?谢谢!

python ocr png

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

Python 线程标准输入/标准输出

我有一个包含大量数据的文件。每一行都是一条记录。我正在尝试对整个文件做一些 ETL 工作。现在我正在使用标准输入逐行读取数据。很酷的一点是您的脚本可以非常灵活地与其他脚本和 shell 命令集成。我将结果写入标准输出。例如。

$ cat input_file
line1 
line2
line3
line4
...
Run Code Online (Sandbox Code Playgroud)

我当前的 python 代码看起来像这样 - parse.py

import sys
for line in sys.stdin:
    result = ETL(line)    # ETL is some self defined function which takes a while to execute.
    print result
Run Code Online (Sandbox Code Playgroud)

下面的代码是它现在的工作方式:

cat input_file | python parse.py > output_file
Run Code Online (Sandbox Code Playgroud)

我查看了 Python 的 Threading 模块,我想知道如果我使用该模块,性能是否会得到显着提高。

问题1:我应该如何规划每个线程的配额,为什么?

...
counter = 0
buffer = []
for line in sys.stdin:
    buffer.append(line)
    if counter % 5 == 0:   # maybe assign 5 rows …
Run Code Online (Sandbox Code Playgroud)

python multithreading stdin stdout

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

Python"R Cut"功能

我想知道Python中是否已经为我后面描述的目标编写了一个函数.如果没有,那么最简单的实施方式是什么.我的代码已附上.

假设我的范围是1到999999999.给出这样的数字列表:

[9, 44, 99]
Run Code Online (Sandbox Code Playgroud)

它会回来

[(1,9), (10,44), (45,99), (100, 999999999)]
Run Code Online (Sandbox Code Playgroud)

如果作为限制的数字包含在输入数字中,它也应该处理.说输入是

[1, 9, 44, 999999999]
Run Code Online (Sandbox Code Playgroud)

回报应该是:

[(1,9), (10,44), (45, 999999999)]
Run Code Online (Sandbox Code Playgroud)

我可以写一个for循环与一些条件语句比较,但想知道是否有更"智能的方式".

一些可能有帮助的数据按摩:

points = [1, 9, 44, 99]
points = sorted(list(set(points + [1, 999999999])))
Run Code Online (Sandbox Code Playgroud)

更新信息:给予alecxe的最终信用,感谢您鼓舞人心的列表理解解决方案

l = sorted(list(set(points + [1, 999999999])))
[(l[i] + int(i != 0), l[i + 1]) for i in xrange(len(l) - 1)]
Run Code Online (Sandbox Code Playgroud)

你可以将所有这些放在一行中,但我认为这是不合情理的.

python intervals

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

Scrapy XPath页面上的所有链接

我正在尝试使用Scrapy收集域下的所有URL。我试图使用CrawlSpider从首页开始抓取他们的网站。对于每个页面,我想使用Xpath提取所有href。并以键/值对之类的格式存储数据。

密钥:当前网址值:此页面上的所有链接。

class MySpider(CrawlSpider):
    name = 'abc.com'
    allowed_domains = ['abc.com']
    start_urls = ['http://www.abc.com']

    rules = (Rule(SgmlLinkExtractor()), )
    def parse_item(self, response):
        hxs = HtmlXPathSelector(response)
        item = AbcItem()
        item['key'] = response.url 
        item['value'] = hxs.select('//a/@href').extract()
        return item 
Run Code Online (Sandbox Code Playgroud)

我定义我的AbcItem()如下所示:

从scrapy.item导入项目,字段

class AbcItem(Item):

    # key: url
    # value: list of links existing in the key url
    key = Field()
    value = Field()
    pass
Run Code Online (Sandbox Code Playgroud)

当我像这样运行我的代码时:

nohup scrapy crawl abc.com -o output -t csv &
Run Code Online (Sandbox Code Playgroud)

机器人似乎开始爬行,我可以看到所有配置日志都在填充nohup.out文件,但是输出文件中没有信息。这是我要收集的内容,有人可以帮助我吗?我的机器人可能出了什么问题?

python xpath scrapy

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

在有序的日期列表中填写缺失的年份

我从网上收集了一些时间序列数据,我得到的时间戳如下所示.

24 Jun 
21 Mar
20 Jan 
10 Dec
20 Jun 
20 Jan
10 Dec 
...
Run Code Online (Sandbox Code Playgroud)

有趣的是,数据中缺少年份,但是,所有记录都是有序的,您可以从记录中推断出年份并填写缺失的数据.所以输入后的数据应该是这样的:

24 Jun 2014
21 Mar 2014
20 Jan 2014
10 Dec 2013 
20 Jun 2013
20 Jan 2013
10 Dec 2012
...
Run Code Online (Sandbox Code Playgroud)

在抬起袖子并开始fornested逻辑编写一个循环之前,有一种简单的方法可以在R中用于解决缺失的一年.

非常感谢任何建议!

r date date-arithmetic

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

RStudio 服务器导出功能背后的代码

我目前正在使用 RStudio-server Linux redhat。RStudio-server 的一项不错的功能是我可以从服务器导出到Windows桌面。有谁知道导出下拉菜单背后的代码?

导出功能可以通过选项卡找到Files(More >> Export...)

我想使用代码来自动导出对象。我认为我应该能够使用该system函数执行此导出,但我遇到了麻烦。

谢谢你的帮助。

在此输入图像描述

linux r rstudio-server

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