- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用脚本快照创建一个 python 脚本,以向 Cassandra 集群发出批处理请求(Cassandra 脚本出于某种原因不支持批处理操作),我需要一种使用“cassandra”库的方法
我查看了文档,寻找一种方法来导入 python 库,这些库不是默认的东西,比如随机的,但我找不到这样做的方法。
我使用的具体导入行是
from cassandra.cluster import Cluster
from cassandra.auth import PlainTextAuthProvider
但这显然行不通,因为 SnapLogic 上没有安装用于 python 的 Cassandra 库。我没有能力(据我所知)在 SnapLogic 上安装库。如果相关,我得到的具体错误是:
Failure: Cannot evaluate Script file: SQL_Demo_Cassandra_Script.py, Reason: ImportError: No module named cassandra in at line number 5, Resolution: Please fix the script file error at line: 5 column: -1
最佳答案
当您在 Script 快照中选择 Python 时,它实际上意味着 Jython。因此,基本上,您可以在脚本中导入 Java 类。
因此,您需要获取 Cassandra 的驱动程序(一个 JAR 文件)并将其上传到所有 plex 节点,并确保将其保存在所有节点上的相同路径中。
然后你可以将JAR文件添加到脚本中的路径并导入需要的类。
注意:我从未在 SnapLogic 中尝试过。
请引用 StackOverflow 问题 - Importing jars from Jython
更新 #1:
看起来这是使用第三方库的推荐方式。
来自 SnapLogic 文档:
While SnapLogic does not support importing third party libraries directly using the Script Snap, you can add their package/JAR files in a directory in your Groundplex nodes and then import them using this Snap.
For example, consider that you have added the JAR file,
sample.jar
, in the directory/opt/snaplogic/ext_jar/
. Include the following statements in the script that you are running in the Script Snap to import this library:
import sys
# more code
sys.path.append('/opt/snaplogic/ext_jar/sample.jar')
# more code
限制:
- If you are using multiple Groundplex nodes then you must add the package/JAR files in each of those nodes.
- You can import third party libraries only on Groundplex nodes.
关于cassandra - 在 Snaplogic Script Snap 中使用第三方库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56399355/
我是一名优秀的程序员,十分优秀!