用于scidb流的python库

scidb-strm的Python项目详细描述


要求

scidb16.9或更新的

apache arrow0.6.0或更新版本。

python2.7.x3.4.x3.5.x3.6.x或更新版本。

必需的python包:

dill
feather-format
pandas

早于0.8.0的apache arrow版本包含一个可能 影响流用户。错误显示在大于^{tt8}的块上$ 具有空值的记录。有关详细信息,请参阅完整的错误 说明here。这个虫子 在阿帕奇工作过 箭头版本0.8.0

安装

安装最新版本:

pip install scidb-strm

从github安装开发版本:

pip install git+http://github.com/paradigm4/stream.git#subdirectory=py_pkg

python库需要安装在scidb服务器上。这个 如果python代码是 从客户端发送到服务器。

scidb strm python api和示例

安装后,scidb strm可以使用 import scidbstrm。图书馆提供了一个高层次和低层次的访问 提供给scidbstream运算符以及发送python的能力 scidb服务器的代码。

高级访问由函数map

map(map_fun, finalize_fun=None)
读取scidb块。对于每个块,调用map_fun并将其流化 结果返回给SCIDB。如果提供了finalize_fun,请在之后调用它 所有块都已处理。

一个简洁的例子见0-iquery.txt 使用map函数。

请参见1-map-finalize.py以获取示例 使用map函数。必须将python脚本复制到 scidb实例。

python代码可以发送到scidb服务器以使用 pack_funcread_func函数:

pack_func(func)
序列化python函数,用作upload_data中的inputload运算符。
read_func()
从scidb读取和反序列化函数。

请参见2-pack-func.py以获取 使用pack_funcread_func函数。

低级访问由readwrite函数提供:

read()
从scidb读取数据块。返回pandas数据帧或无数据帧。
write(df=None)
将数据块写入scidb。

有关使用 函数readwrite。python脚本必须是 复制到scidb实例上。

python解释器的方便调用在 python_map变量,设置为:

python -uc "import scidbstrm; scidbstrm.map(scidbstrm.read_func())"

最后,请参见4-machine-learning.py 对于一个更复杂的例子 机器放大(预处理、训练和预测)。

调试python代码

调试作为stream运算符一部分执行的python代码时 不要使用print函数。stream运算符 使用stdout与python进程通信。那print 函数将输出写入stdout。所以,使用print函数 会干扰进程间的通信。

相反,使用^{tt28}将调试输出写入stderr。$ 功能。例如:

import sys

x = [1, 2, 3]
sys.stderr.write("{}\n".format(x))

输出被写入每个 实例,例如:

/opt/scidb/18.1/DB-scidb/0/0/scidb-stderr.log
/opt/scidb/18.1/DB-scidb/0/1/scidb-stderr.log

如果使用在默认位置安装的scidb18.1,并且 配置了一个服务器和两个实例。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java访问私有字段而不使用getter方法?   使用PowerMockito在JavaEWSAPI中模拟测试拉订阅   启动活动时未保存java首选项并清除变量   java如何在servlet中检索子域?斯普林有帮手吗   java使用Docker从命令行构建Android项目   java Android,ActionBar后退按钮(setDisplayHomeAsUpEnabled(true))重新创建父活动   java在重用FileOutputStream时应该关闭流吗?   java使用RESTAPI将文件上载到s3 bucket   Java SOAP Web服务应用程序中的mysql用户登录方法不工作   java使用多个数字计算百分比并转换为长   java Android SQLiteDatabase查询忽略空格   java如何在Javafx中比较两个字段文本   java错误:未设置java_HOME,在Eclipse安装后找不到   java在安卓中保存对象   java如何使用jaxws从返回List<Object>的服务中检索值   java Google OAuth2 JWT令牌验证异常   SpringMVC中的JavaUTF8编码问题,当从JSP表单发送POST请求中的越南语信件时   java从webview重定向到安卓应用程序   JUnit 5中多个扩展的java顺序