Bạn cần tận dụng thư viện này:https://github.com/RedisLabs/spark-redisalong với jar liên kết cần thiết (tùy thuộc vào phiên bản spark + scala bạn đang sử dụng).
Trong trường hợp của tôi, tôi đã cài đặt 3 lọ trên cụm tia lửa (Scala =2,12) tia lửa mới nhất:
- spark_redis_2_12_2_6_0.jar
- commons_pool2_2_10_0.jar
- jedis_3_6_0.jar
Cùng với cấu hình để kết nối với redis:
Thiết lập cấu hình cụm
spark.redis.auth PASSWORD
spark.redis.port 6379
spark.redis.host xxxx.xxx.cache.windows.net
Đảm bảo bạn có azure redis 4.0, thư viện có thể gặp sự cố với 6.0. Mã mẫu cần đẩy:
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()
)