首页 > 解决方案 > 使用 pyspark 从 redis 读取特定密钥

问题描述

我正在尝试使用 pyspark 从 Redis 读取特定密钥。根据文档,我没有找到任何特定的命令来读取特定的密钥。使用下面的代码,我可以从 Redis 读取所有数据:

testid = spark.read.format("org.apache.spark.sql.redis")\
.option("table",'testing123')\
.option("key.column","id")\
.load()

请建议

标签: apache-sparkpysparkredisspark-redis

解决方案


你可以试试keys.pattern。从文档

要阅读 Redis 哈希,您必须提供带有 .option("keys.pattern", keysPattern)选项的键模式。DataFrame 模式应该明确指定,或者可以从随机行中推断出来。

[...] Spark-Redis 尝试根据密钥模式提取密钥:

  • 如果模式以它结尾*并且它是唯一的通配符,则将提取尾随子字符串
  • 否则没有提取 - 密钥保持原样。
testid = spark.read.format("org.apache.spark.sql.redis") \
.option("keys.pattern", "keyPattern:*") \
.option("key.column","id") \
.option("infer.schema", "true") \
.load()

推荐阅读