このライブラリを活用する必要があります:https://github.com/RedisLabs/spark-redisalong必要な関連jar(使用しているspark + scalaのバージョンによって異なります)
私の場合、spark cluster(Scala =2.12)の最新のsparkに3つのjarをインストールしました:
- spark_redis_2_12_2_6_0.jar
- commons_pool2_2_10_0.jar
- jedis_3_6_0.jar
redisに接続するための構成に沿って:
クラスター設定の設定
spark.redis.auth PASSWORD
spark.redis.port 6379
spark.redis.host xxxx.xxx.cache.windows.net
Azure redis4.0を使用していることを確認してください。ライブラリで6.0に問題がある可能性があります。プッシュするサンプルコード:
from pyspark.sql.types import StructType, StructField, StringType
schema = StructType([
StructField("id", StringType(), True),
StructField("colA", StringType(), True),
StructField("colB", StringType(), True)
])
data = [
['1', '8', '2'],
['2', '5', '3'],
['3', '3', '1'],
['4', '7', '2']
]
df = spark.createDataFrame(data, schema=schema)
df.show()
--------------
(
df.
write.
format("org.apache.spark.sql.redis").
option("table", "mytable").
option("key.column", "id").
save()
)