问题标签 [spark-redis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pyspark - 将 pyspark 数据帧转换为 JSON 时的性能问题
我想以有效的方式将 pyspark 数据框内容插入 Redis。尝试了几种方法,但都没有给出预期的结果。
将 df 转换为 json 需要 30 秒。目标是将 json 有效负载设置到 Redis 集群中以供使用。
我也在尝试利用 spark-redis https://github.com/RedisLabs/spark-redis/blob/master/doc/python.md库将结果插入到 Redis 中,以便将结果插入到所有工作节点的 Redis,看看它是否有很大的不同。即使这个过程也需要相同的时间才能将结果插入 Redis
我正在寻找有关如何清除瓶颈的专家建议,看看我是否可以将其缩短到不到 5 秒,谢谢。
我正在使用具有 1+4 个节点的 EMR 集群,每个节点有 16 个内核和 64 Gigs 内存。
将 df 转换为 json 的前两行代码需要 29 秒,设置为 redis 需要 1 秒。
或者
最后一行代码使用工作节点将 df 内容直接插入 Redis,但需要大约 28 秒。
pyspark - 如何在 Pycharm 中将 jar 添加到 Spark
我想在 PyCharm 中调试 Spark 代码,因为它更容易调试。但我需要添加一个spark-redis.jar
否则Failed to find data source: redis
连接redis的代码是
如果使用 PyCharm,该如何解决?
我已经尝试添加spark.driver.extraClassPath
,$SPARK_HOME/conf/spark-defaults.conf
但它不起作用。
我也尝试在运行配置中添加环境变量PYSPARK_SUBMIT_ARGS --jars ...
,但它引发了其他错误
java - Java - 如何将 Iterable 转换为 JavaPairRDD
我有一个 ( String, Iterable[(String, String)] ) 的 JavaPairRDD,我希望将其转换为 ( String, RDD[String, String ]) 的 JavaPairRDD,这样我就可以使用 reduceByKey 函数到内部Java对RDD。
在此示例中,我有一个 JavaPairRDD,其中 key 是特定型号,value 是元组项目编号和该项目价格的 Iterable。
以下是 JavaPairRDD 的示例:
应用 reduceByKey 函数后,我希望结果如下所示:
一个非常相似的线程使用以下 Scala 代码转换了这个 RDD: How to convert an Iterable to an RDD
在Java中有类似的方法吗?
谢谢你的帮助。
java - 使用Java读取spark redis保存的数据
我使用spark-redis将数据集保存到 Redis。然后我使用Spring data redis读取这些数据:
我保存到redis的这个对象:
使用 spark-redis 保存对象:
存储库:
我无法读取使用 Spring data redis 保存在 Redis 中的数据,因为 spark-redis 和 spring data redis 保存的结构数据不同(我检查了 spark-redis 和 spring data redis 创建的键的值是不同的使用命令:redis-cli -p 6379 keys \*
和redis-cli hgetall $key
)
那么如何读取已经使用 Java 或任何 Java 库保存的数据呢?
apache-spark - 使用 pyspark 从 redis 读取特定密钥
我正在尝试使用 pyspark 从 Redis 读取特定密钥。根据文档,我没有找到任何特定的命令来读取特定的密钥。使用下面的代码,我可以从 Redis 读取所有数据:
请建议
java - java.net.SocketException:尝试从spark sql java应用程序将数据加载/写入redis时连接重置异常
我正在尝试在基于 spark-sql java 的应用程序中从 Redis 缓存加载/写入数据。这是我的代码:
这是我得到的例外:
我已经在 Windows 机器上使用 docker 和 kubectl 启动了 redis。 在此处输入图像描述
我不确定是什么导致了这个问题。有人可以帮我解决这个问题
scala - 数据转换后将kafka流数据帧保存到Databricks中的Redis
在对数据执行聚合后,我正在使用 pyspark 将 kafka 流定向到 redis。最终输出是流式数据流。
我连接到 kafka 流的代码。(您可能会发现我的代码是外行工作,请忽略)
作为订阅经纪人,这给了我流数据框。在此之后,我将数据聚合到 count_df,如图所示
现在我正在尝试将此 count_df 流写入 redis。在我的 resreach 之后,我发现我可以使用“spark-redis_2.11”进行 spark-redis 连接。
我不知道 scala,我找到了一个带有 scala 的 spark-redis github 示例。有人可以帮助在pyspark中写入以将这个count_df写入带有身份验证的redis的确切方法是什么
请在这里找到 spark-redis github
我已经在集群上安装了所需的 jar “com.redislabs:spark-redis_2.12:2.5.0”。
谢谢。
刚发现他们还不支持python,请告诉我还有其他方法可以写吗?
pyspark - 如何在 databricks 中为 redis 连接设置 jar 配置
我在 databricks 中安装了以下 jar "com.redislabs:spark-redis_2.12:2.5.0"
。并尝试使用各自的身份验证创建火花会话
下面是我使用凭据创建火花会话的代码
但是当我尝试使用以下代码保存它时
这会引发以下错误。
这显然意味着连接到localhost而不是我提供的主机名。如何在数据块中使用主机名和密码传递 jar 配置以验证连接。
apache-spark - spark-redis 异常:原因:redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: Read timed out
我正在尝试通过 spark 将数据插入到 redis(Azure Cache for Redis)。大约有 7 亿行,我正在使用spark-redis连接器插入数据。它在一段时间抛出此错误后失败。我可以插入一些行,但一段时间后,一些任务开始失败并出现以下错误。我正在浏览 jupyter 笔记本。
这就是我尝试写入数据的方式。
apache-spark - 无法使用 spark-submit 调用特定包
您要使用的包是 spark-redis。
上面的 pyspark-shell 允许你使用 spark-redis 包,但是如果你使用 spark-submit 传递包
/usr/bin/spark-submit /var/lib/jupyter/Spark2/test_redis.py --packages com.redislabs:spark-redis:2.3.0
: java.lang.ClassNotFoundException: Failed to find data source: org.apache.spark.sql.redis. Please find packages at http://spark.apache.org/ third-party-projects.html
我收到一条错误消息。为什么是这样?