Redis
 sql >> база данни >  >> NoSQL >> Redis

Има ли начин да запиша pyspark dataframe в кеша на azure за Redis?

Трябва да използвате тази библиотека:https://github.com/RedisLabs/spark-redisale заедно с необходимия асоцииран jar (в зависимост от това коя версия на spark+scala използвате).

В моя случай съм инсталирал 3 буркана на spark cluster(Scala=2.12) най-новата spark:

  1. spark_redis_2_12_2_6_0.jar
  2. commons_pool2_2_10_0.jar
  3. jedis_3_6_0.jar

Покрай конфигурацията за свързване към redis:

Настройка на клъстерна конфигурация

spark.redis.auth PASSWORD
spark.redis.port 6379
spark.redis.host xxxx.xxx.cache.windows.net

Уверете се, че имате azure redis 4.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()
)

 



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis lua кога наистина да го използвам?

  2. Масово поглъщане в Redis

  3. Redis – Какво, защо и как да използваме Redis като основна база данни

  4. Как да изтриете Heroku Redis?

  5. Проблем с връзката с Redis при пружинното зареждане на Docker compose