小编Rob*_*wie的帖子

在OS X 10.8升级后,Python pip被破坏

升级到Mac OS X 10.8(Mountain Lion)并在尝试呼叫时出现以下错误$ pip:

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2603, in <module>
    working_set.require(__requires__)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 666, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 565, in resolve
    raise DistributionNotFound(req)  # XXX put more info here
pkg_resources.DistributionNotFound: pip==1.1
Run Code Online (Sandbox Code Playgroud)

更新:尝试通过再次执行安装过程重新安装(使用http://www.pip-installer.org/en/latest/installing.html#using-the-installereasy_install),但是没有工作,得到了相同的错误.

现在尝试以下内容:调用$ sudo pip和上述错误消失.奇怪的是,在上面的错误消息中找不到的目录指向/ System/Library/...而python安装是(new?)在/ Library/Frameworks/..中查找:

$ which python
/Library/Frameworks/Python.framework/Versions/Current/bin/python
Run Code Online (Sandbox Code Playgroud)

任何想法如何摆脱sudo?

python macos pip

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

无法使用Spark SQL中的现有Hive永久UDF

我之前已经在hive中注册了一个UDF.永久不是TEMPORARY.它直线工作.

CREATE FUNCTION normaliseURL AS 'com.example.hive.udfs.NormaliseURL' USING JAR 'hdfs://udfs/hive-udfs.jar';
Run Code Online (Sandbox Code Playgroud)

我有火花配置使用蜂巢Metastore.配置正常,因为我可以查询配置单元表.我可以看到UDF;

In [9]: spark.sql('describe function normaliseURL').show(truncate=False)
+-------------------------------------------+
|function_desc                              |
+-------------------------------------------+
|Function: default.normaliseURL             |
|Class: com.example.hive.udfs.NormaliseURL  |
|Usage: N/A.                                |
+-------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

但是我不能在sql语句中使用UDF;

spark.sql('SELECT normaliseURL("value")')
AnalysisException: "Undefined function: 'default.normaliseURL'. This function is neither a registered temporary function nor a permanent function registered in the database 'default'.; line 1 pos 7"
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用spark注册UDF(绕过Metastore),则无法注册它,表明它已经存在.

In [12]: spark.sql("create function normaliseURL as 'com.example.hive.udfs.NormaliseURL'")
AnalysisException: "Function 'default.normaliseURL' already exists in database 'default';"
Run Code Online (Sandbox Code Playgroud)

我正在使用Spark 2.0,hive metastore 1.1.0.UDF是scala,我的spark驱动程序代码是python.

我很难过. …

hive apache-spark apache-spark-sql udf

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

结合多个子项目的Sphinx文档:处理索引,同步配置等

我们有一个用(优秀的)Sphinx记录的多模块项目.我们的设置与邮件列表中描述的设置没有什么不同.总的来说这很棒!但是我们有一些关于这样做的问题:

  1. 子模块目录将包括索引链接.充其量这些将链接到错误的指数.(在最坏的情况下,这似乎会引发Sphinx中的错误,但我正在使用devel版本,这是合理的).有没有办法只为最顶层的toctree生成索引链接?

  2. 是否有保持Sphinx配置在多个项目之间同步的最佳实践?我可以想象在一起乱砍某些东西from common_config import *,但对其他方法感到好奇.

  3. 虽然我们在这里,但邮件列表中提出的问题(替代symlinking子项目文档?)从未得到回答.这对我来说并不重要,但对其他读者来说可能很重要.

python documentation python-sphinx

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

从npy文件加载稀疏数组

我正在尝试加载我之前保存的稀疏数组.保存稀疏数组很容易.试图阅读它是一种痛苦.scipy.load在我的稀疏数组周围返回一个0d数组.

import scipy as sp
A = sp.load("my_array"); A
array(<325729x325729 sparse matrix of type '<type 'numpy.int8'>'
with 1497134 stored elements in Compressed Sparse Row format>, dtype=object)
Run Code Online (Sandbox Code Playgroud)

为了获得稀疏矩阵,我必须展平0d数组,或者使用sp.asarray(A).这似乎是一种非常难以做到的事情.Scipy是否足够聪明才能理解它已经加载了一个稀疏数组?有没有更好的方法来加载稀疏数组?

python sparse-array scipy

10
推荐指数
2
解决办法
5925
查看次数

什么是pushState?

我看到最新的backbone.js(0.5)为路由引入了pushState选项.

通过https://developer.mozilla.org/en/dom/manipulating_the_browser_history阅读后, 我不得不说对我来说不太清楚:在编写Web应用程序的上下文中,pushState是什么以及pushState带来了什么?有骨干; 是为了:

  • 改进网址:拥有一个"真实的",可收藏的,"服务器可访问的"网址,而不是哈希?

  • 优雅降级:允许服务器在没有启用JS的情况下呈现正确的页面?

  • 以上都没有,或者其他原因?

另外,我在下面做错了什么?:

class MyRouter extends Backbone.Router
  routes :
    ''       : 'index'
    '#hello' :'hello'

  index : -> console.log 'index'
  hello: -> console.log 'hello'

new MyRouter

Backbone.history.start pushState: true
Run Code Online (Sandbox Code Playgroud)

当我导航到http:// localhost#hello时,url会更改为http:// localhost /#hello,但是不会触发回调?

谢谢

backbone.js

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

在mac命令行上生成特定频率的音调

我需要在命令行上生成给定频率的音符

以下是笔记的频率列表http://www.phy.mtu.edu/~suits/notefreqs.html

例如:

$ some-app -frequency 523.25 -timeinseconds 3
Run Code Online (Sandbox Code Playgroud)

它可以是原生的mac,python或ruby工具.我需要安装的库越少越好.也许我可以用mac做点什么:说或者是afplay?

这将用于发送音乐笔记的其他项目,我希望在使用它时听到它.

audio macos terminal

9
推荐指数
3
解决办法
4609
查看次数

使用jq从嵌套的JSON对象中提取选定的属性

给定一个JSON对象数组:

[
  {
    "geometry": {
      "type": "Polygon",
      "coordinates": [[[-69.9969376289999, 12.577582098000036]]]
    },
    "type": "Feature",
    "properties": {
      "NAME": "Aruba",
      "WB_A2": "AW",
      "INCOME_GRP": "2. High income: nonOECD",
      "SOV_A3": "NL1",
      "CONTINENT": "North America",
      "NOTE_ADM0": "Neth.",
      "BRK_A3": "ABW",
      "TYPE": "Country",
      "NAME_LONG": "Aruba"
    }
  },
  {
    "geometry": {
      "type": "MultiPolygon",
      "coordinates": [[[-63.037668423999946, 18.212958075000028]]]
    },
    "type": "Feature",
    "properties": {
      "NAME": "Anguilla",
      "WB_A2": "-99",
      "INCOME_GRP": "3. Upper middle income",
      "SOV_A3": "GB1",
      "NOTE_ADM0": "U.K.",
      "BRK_A3": "AIA",
      "TYPE": "Dependency",
      "NAME_LONG": "Anguilla"
    }
  }
]
Run Code Online (Sandbox Code Playgroud)

我想从嵌套中提取键/值的子集properties,同时保持外部对象的其他属性不变,产生如下内容:

[
  {
    "geometry": …
Run Code Online (Sandbox Code Playgroud)

json jq

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

如何使用 SQLAlchemy 选择 PostgreSQL 系统列?

Postgresql 在每个表上隐式定义了多个列,例如xmaxctid(参见文档)。

假设我的 SQLALchemy 表定义没有指定这些列,有没有办法使用核心 sql 功能(即不是 SA 的 ORM 部分)来选择它们?

xmax由于表定义中未明确定义,以下内容不起作用。

table = sa.Table(
    "mytable",
    metadata,
    sa.Column("col_a", sa.BIGINT),
    sa.Column("date", sa.DATE),
)

s = sa.select([table.c.xmax])
result = engine.execute(s)
Run Code Online (Sandbox Code Playgroud)

xmax具体来说,我的要求是在更新插入的条款中引用returning

insert(mytable).returning((mytable.c.xmax == 0).label("inserted"))
Run Code Online (Sandbox Code Playgroud)

sql postgresql sqlalchemy

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

pymongo插入循环内

我有一个关于pymongo插入循环内部的棘手问题,为什么结果只是第一条记录,如果我使用insert()或者是最后一条记录,如果我使用save().

from pymongo import Connection

m = Connection(config.get('server'))
mdb = m[config.get('db_name')]

cond = {
    'corp_fax_no'  : u'5667767', 
    'corp_area_id' : 12L, 
    'corp_url'     : u'http://www.example.com', 
    'corp_id'      : 1L, 
    'corp_addr'    : u'some thing', 
    'corp_post_no' : u'220940', 
    'corp_email'   : u'123@123.com', 
    'corp_tel_no'  : u'714-717-2265'
}

@tool.timeit
def test_insert_mongo():
    cn = '{0}'.format(config.get("coll_timetest"))
    coll = mdb[cn]
    for i in xrange(10000):
        print i
        cond.update({'corp_id':i})
        coll.insert(cond)

test_insert_mongo()
Run Code Online (Sandbox Code Playgroud)

我只是在Mongo中插入了10000个条目,但我只能找到一个条目.为什么?

insert pymongo

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

用于dict-able类的Python习语?

我想做这样的事情:

class Dictable:
    def dict(self):
        raise NotImplementedError

class Foo(Dictable):
    def dict(self):
        return {'bar1': self.bar1, 'bar2': self.bar2}
Run Code Online (Sandbox Code Playgroud)

是否有更多的pythonic方式来做到这一点?例如,是否可能使内置转换过载dict(...)?请注意,我不一定要返回所有成员变量Foo,我宁愿让每个类决定返回什么.

谢谢.

python abc

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

Postsgresql外部加入不按预期工作

一个看似简单的查询,我无法工作......

两个桌子的房间和可用性

Room         [id, title, beds]
Availability [room_id, date, bed_delta]
Run Code Online (Sandbox Code Playgroud)

客房配有固定的最多床位数.可用性描述Room.beds修改期间(向上或向下).

我正在尝试构建一个查询,对于给定的房间和给定的开始日期和持续时间将总和可用的床.

例如:

  • 1号房通常有2张床
  • 1小时,服用1张床
  • 预期结果是1

如果添加了与此日期时间范围重叠的另一个可用时段并进一步将床减少1,则预期结果为0.

感觉就像一个相对简单的查询:

  • LEFT OUTER JOIN房间到room_id的可用性
  • 按日期约束
  • 选择Room.beds - sum(Availability.bed_delta)

SELECT r.beds - coalesce(sum(a.bed_delta), 0) as beds_free
FROM room r
LEFT OUTER JOIN availability a ON (r.id = a.room_id)
WHERE date = '2012-01-01 09:00:00+01:00'
AND r.id = 2
GROUP BY r.id;
Run Code Online (Sandbox Code Playgroud)

此查询仅在匹配的行中返回availability.我期望的是id为== 2的房间的单行.

postgresql outer-join

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

使用Spark从HDFS读取时如何避免出现“非文件”异常

我在初始EMR步骤中将一棵文件树从S3复制到具有S3DistCP的 HDFS 。hdfs dfs -ls -R hdfs:///data_dir显示预期的文件,如下所示:

/data_dir/year=2015/
/data_dir/year=2015/month=01/
/data_dir/year=2015/month=01/day=01/
/data_dir/year=2015/month=01/day=01/data01.12345678
/data_dir/year=2015/month=01/day=01/data02.12345678
/data_dir/year=2015/month=01/day=01/data03.12345678
Run Code Online (Sandbox Code Playgroud)

“目录”被列出为零字节文件。

然后,我运行一个启动步骤,该步骤需要读取这些文件。因此,加载代码为:

sqlctx.read.json('hdfs:///data_dir, schema=schema)
Run Code Online (Sandbox Code Playgroud)

作业失败,出现Java异常

java.io.IOException: Not a file: hdfs://10.159.123.38:9000/data_dir/year=2015
Run Code Online (Sandbox Code Playgroud)

我曾经(也许很幼稚)假设spark会递归地下降“ dir tree”并加载数据文件。如果我指向S3,它将成功加载数据。

我误会了HDFS吗?我可以告诉spark忽略零字节文件吗?我可以使用S3DistCp压扁树吗?

hdfs emr apache-spark s3distcp

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