sql >> Databáze >  >> NoSQL >> Redis

Existuje způsob, jak zapsat datový rámec pyspark do azure cache pro redis?

Musíte využít tuto knihovnu:https://github.com/RedisLabs/spark-redisa spolu s potřebným přidruženým jarem (v závislosti na verzi spark+scala, kterou používáte).

V mém případě jsem nainstaloval 3 sklenice na spark cluster (Scala=2.12) nejnovější spark:

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

Podél konfigurace pro připojení k redis:

Nastavení konfigurace clusteru

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

Ujistěte se, že máte azure redis 4.0, knihovna může mít problém s 6.0. Ukázkový kód k odeslání:

    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. Jak sloučit vnořený dokument do kořenové úrovně v MongoDB?

  2. Jak používat MongoDB Stitch v aplikacích pro Android

  3. Nelze vytvořit funkční projekt meteor.js na tulákovské krabici

  4. Jak zjistím, kde mongoDB ukládá data? (není ve výchozím /data/db!)