小编Mic*_*man的帖子

Spark阅读python3 pickle作为输入

我的数据以Python 3 pickle文件集的形式提供.其中大多数是熊猫的序列化DataFrames.

我想开始使用Spark,因为我需要一台计算机可以拥有的更多内存和CPU.此外,我将使用HDFS进行分布式存储.

作为初学者,我没有找到解释如何使用pickle文件作为输入文件的相关信息.

它存在吗?如果没有,有任何解决方法吗?

非常感谢

python serialization apache-spark rdd pyspark

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

Cython:pyximport:在pyximport.install中启用分析

我的Python 3项目正在使用cython.

在生产部署中,我使用的是构建脚本,除其他外,它禁用了分析:

from distutils.core import setup
from Cython.Build import cythonize
import os

compiler_directives = {
    'language_level': 3,
    'optimize.use_switch': True,
    'profile': True,
}

setup(
    packages=["XXXXXX"],
    ext_modules=cythonize(
        module_list="**/*.pyx",
        compiler_directives=compiler_directives,
    )
)
Run Code Online (Sandbox Code Playgroud)

在开发中,我正在使用pyximport.为了区分这两个上下文,我正在测试"生产"用户是否在项目的顶级__init__.py文件中使用.如果这不是生产,我正在使用pyximport; pyximport.install,以便它变得完全透明:

if getpass.getuser != PRODUCTION_USER_NAME:
    import pyximport
    pyximport.install(
        pyximport=True,
        pyimport=False,
        build_dir=None,
        build_in_temp=True,
        setup_args={},
        reload_support=False,
        load_py_module_on_import_failure=False,
        inplace=False,
        language_level=3,
    )
Run Code Online (Sandbox Code Playgroud)

我想在开发环境中为所有cython文件启用分析.我试图将该profile=True参数添加到piximport.install语句中,但它不起作用.

我该怎么办?

一些额外的评论:

  • 我想避免Profile=True在开发过程中推送所有源代码并在提交之前删除它们...

  • 使用.pyxbld文件对我来说不是一个选项,因为我有46个pyx文件,并计划有更多...除非有一种方法只设置一个文件来支持所有pyx,就像我为构建脚本所做的那样,但我没有发现如何.

谢谢你的帮助.

python profiling cython python-3.x

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

python 检查类似列表的内容,但不检查字符串、字节、字典等

在 python 中,字符串可以循环/迭代,就像列表、元组等一样。我们对 dict 和 bytes 也有相同的。因此,使用 isinstance 与任何 collections.abc 类相比,在列表、字节、字典等上都会给出 True。

我正在寻找一种优雅的方法来检查我是否收到了方法的类似列表的参数:列表、元组、集合、numpy 数组、pandas 系列等?

您是否有任何建议,不是测试是否可迭代,而是字符串或字典等。

我真的试图匹配非开发人员对列表的直观理解。

python string types iterable python-3.x

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