scala - 从 Scala 运行 cqlsh 脚本
问题描述
我正在尝试从我的应用程序中执行一个 .cql 脚本,该脚本是用 Scala 编写的。如果我登录 Cassandra,它确实可以工作,但是当我尝试自动化任务时它会失败。这是我到目前为止得到的:
def executeScript(path: String, user: String, password: String, host: String): Unit = {
val command = s"cqlsh -f $path -u '$user' -p '$password' $host;"
val execution = command.!
}
这是一个例外:
Traceback (most recent call last):
File "/usr/bin/cqlsh.py", line 2434, in <module>
main(*read_options(sys.argv[1:], os.environ))
File "/usr/bin/cqlsh.py", line 2413, in main
encoding=options.encoding)
File "/usr/bin/cqlsh.py", line 479, in __init__
load_balancing_policy=WhiteListRoundRobinPolicy([self.hostname]),
File "/usr/share/cassandra/lib/cassandra-driver-internal-only-3.10.zip/cassandra-driver-3.10/cassandra/policies.py", line 417, in __init__
socket.gaierror: [Errno -2] Name or service not known
由于它在 Cassandra 中工作,我不知道要改变什么。任何帮助,将不胜感激。
解决方案
问题出在;
最后的字符中-只需在之后将其删除$host
,否则它将作为主机名的一部分传递
推荐阅读
- python - 在pygame中双击键盘,而不是双击
- jquery - Datatables JQuery 库 - 响应式表
- boolean-logic - 简化布尔 (X + Y)(X' + Z) = XZ + X'Y
- kubernetes - 从服务帐户对受 Google IAP 保护的资源的编程访问被拒绝并出现无效签名错误
- python-3.x - 元组集之间的区别,删除公共元素
- node.js - NODE JS:如何使以下调用等待被调用函数完成后再继续
- list - 如何使用“减少”来获取 Dart/Flutter 中对象列表中的值的总和
- python - 在 Python 中使用列保存到 csv
- php - 如何能够使用空白短代码参数来显示所有元框值,而不是无
- java - Java Spark - 根据列数过滤RDD中的记录问题