用于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第三方库


热门话题
调试/SntpClient(70):请求时间失败:java。网SocketException:Android上的协议不支持地址族   java Eclipse在1.6下运行,但需要1.7   java中的原始socket   java当我删除OAEP填充UIDAI Kyc响应数据时,其显示错误lHash不匹配   线程“awteventque0”java中的mysql异常。lang.NullPointerException登录表单错误   java检查字符串的所有字符是否包含相同的次数   java Spring RestTemplate布尔caps反序列化   simpledateformat Java简单日期格式无法正确使用PM分析日期时间   自定义listview智能保持器按钮单击时出现java问题   java JSONObject抛出已检查的异常,但找不到keySet()方法   JavaSpring云配置客户端立即启动和停止   javac不会在hadoop中生成任何错误或jar文件   java在调用JButton actionperformed事件时返回一个值   java什么是正确的。Net方法对安卓 AES加密文件进行解密   单击按钮时,java ImageView背景不会平稳变化   java Netbeans和SVN还原代码   java Spring启动mysql在启动时运行db转储代码