小编Srd*_*vic的帖子

Kafka主题分区为Spark流媒体

我有一些用例,我想更清楚一点,关于Kafka主题分区 - >火花流资源利用率.

我使用spark独立模式,所以我只有"执行器总数"和"执行器内存".据我所知并根据文档,将并行性引入Spark流的方法是使用分区的Kafka主题 - >当我使用spark-kafka直接流集成时,RDD将具有与kafka相同数量的分区.

因此,如果我在主题中有1个分区,并且有1个执行程序核心,那么该核心将从Kafka顺序读取.

如果我有:

  • 主题中有2个分区,只有1个执行器核心?该核心将首先从一个分区读取,然后从第二个分区读取,因此分区主题没有任何好处吗?

  • 主题中有2个分区和2个核心?然后1个执行器核心从1个分区读取,第二个核心从第二个分区读取吗?

  • 1个kafka分区和2个执行器核心?

谢谢.

apache-kafka apache-spark spark-streaming

12
推荐指数
1
解决办法
7412
查看次数

使用 Airflow 将数据从 Postgres/MySQL 移动到 S3

我们正在尝试从 Pentaho Kettle 迁移到 Apache AIrflow 来进行 ETL 并将所有数据处理集中在 1 个工具下。

我们每天使用Kettle从Postgres/Mysql数据库读取数据,并将数据移动到S3 -> Redshift。

做到这一点最简单的方法是什么?我没有看到可以直接执行此操作的操作员;那么我应该使用 MySQL/Postgres 运算符将数据放入本地文件中,并使用 S3 运算符将数据移动到 S3 吗?

谢谢

python amazon-s3 airflow

6
推荐指数
1
解决办法
1万
查看次数

Kafka-> Spark-> Cassandra强制数据局部性

我有一个流处理过程,该过程从Kafka读取数据,使用Spark处理数据并将数据写入Cassandra。

这将在具有3-5个节点的群集上运行。我的计划是在集群的每个节点上部署spark,kafka和cassandra。

我想尽可能地强制执行数据局部性,这意味着每个Spark节点仅从该节点上的 Kafka读取数据,本地进行处理(我的管道中没有改组转换),并在其中写入Cassandra该节点

因此,我的问题如下:

1)为了将同一主题存储在多个节点上,是否需要对Kafka主题进行分区?

2)我是否需要同步(设置为相同)Kafka分区程序和Cassandra分区程序,以便确保在节点X上到达Kafka分区的数据一定会存储在同一节点的Cassandra中?

3)在Spark管道中还有其他需要特别注意的事情吗?我正在使用Spark-Cassandra连接器,该连接器应利用数据局部性(以便每个Spark任务读取存储在该特定节点上的数据)。

任何博客文章或文章解释了如何做到这一点都倍受赞赏。

问候,

Srdjan

cassandra apache-kafka apache-spark spark-streaming spark-cassandra-connector

5
推荐指数
0
解决办法
371
查看次数

在Spark Streaming中缓存DStream

我有一个Spark流传输过程,该过程将从kafka读取数据到DStream中。

在我的管道中,我做了两次(一个接一个):

DStream.foreachRDD(在RDD上转换并插入到目标中)。

(每次我进行不同的处理并将数据插入到不同的目的地)。

当我从Kafka读取数据后,我想知道DStream.cache是​​如何工作的吗?有可能做到吗?

现在该过程实际上是从Kafka读取数据两次吗?

请记住,不可能将两个foreachRDD放在一个中(因为两个路径完全不同,所以那里有状态转换-需要在DStream上应用...)

谢谢你的帮助

apache-spark spark-streaming kafka-consumer-api

1
推荐指数
1
解决办法
3426
查看次数