pyspark - 如何在 databricks 中为 redis 连接设置 jar 配置
问题描述
我在 databricks 中安装了以下 jar "com.redislabs:spark-redis_2.12:2.5.0"
。并尝试使用各自的身份验证创建火花会话
下面是我使用凭据创建火花会话的代码
redis= SparkSession.builder.appName("redis_connection").config("spark.redis.host", "hostname").config("spark.redis.port", "port").config("spark.redis.auth", "pass").getOrCreate()
但是当我尝试使用以下代码保存它时
df.write.format("org.apache.spark.sql.redis").option("table", "velocity").option("key.column", "name").option("ttl", 30).save()
这会引发以下错误。
Caused by: redis.clients.jedis.exceptions.JedisConnectionException: Failed connecting to host localhost:6379
这显然意味着连接到localhost而不是我提供的主机名。如何在数据块中使用主机名和密码传递 jar 配置以验证连接。
解决方案
最有可能的 databricks 选择了未设置配置参数的错误 spark 会话。您可以尝试两种选择:
- 在 Databricks 集群配置中设置和
spark.redis.host
。转到集群 -> 编辑 -> 高级选项 -> Spark -> Spark Configspark.redis.port
spark.redis.auth
- 在隐式创建的
spark
会话中设置选项,spark.conf.set("spark.redis.host", "host")
与其他参数相同。
推荐阅读
- visual-studio - 如何避免 *.
.config 转换部署在服务器上 - jquery - Angular FormControl 中的 jQuery 日期选择器
- c# - Entity Framewrok 6.2.0 Table-Per-Hierarchy 继承奇怪的查询生成时按类型过滤
- c# - 如何确定 NuGet 包中二进制文件的行为
- tensorflow - .tflite 可以捕获 tf.hub.text_embedding_column() 进程吗?
- sap - 带有数据样本的 SAP DEMO DB
- javascript - 如何使用“this”更改 javascript 中的图像源?
- r - 在 SUSElinux 服务器上安装 R 包 - FSELCETOR
- mps - 从内联模板访问节点的属性/子节点
- php - 是否有与 Java 的 ServletRequest.getParameterValues() 等效的 PHP?