小编Igo*_* K.的帖子

主题,分区和密钥

我正在寻找关于这个问题的一些澄清.在Kafka文档中,我发现了以下内容:

Kafka仅对分区内的消息提供总订单,而不是在主题中的不同分区之间.对于大多数应用程序而言,按分区排序与按键分区数据的能力相结合就足够了.但是,如果您需要对邮件进行总订单,则可以使用仅包含一个分区的主题来实现,但这意味着每个使用者组只有一个使用者进程.

所以这是我的问题:

  1. 这是否意味着如果我想拥有超过1个消费者(来自同一组)从一个主题中读取我需要超过1个分区?

  2. 这是否意味着我需要相同数量的分区作为同一组的消费者数量?

  3. 有多少消费者可以从一个分区读取?

关于API的关键和分区之间的关系也有一些问题.我只看了.net API(特别是来自MS的API),但看起来像模仿Java API.我看到当使用生产者向主题发送消息时,有一个关键参数.但是,当消费者从主题中读取时,存在分区号.

  1. 分区是如何编号的?从0或1开始?
  2. 密钥和分区之间究竟有什么关系?据我所知,键上的某些功能将决定一个分区.那是对的吗?
  3. 如果我在一个主题中有2个分区,并希望某些特定消息转到一个分区而其他消息转到另一个分区,那么我应该为一个特定分区使用特定密钥,其余部分用于另一个分区?
  4. 如果我有3个分区和一种类型的消息到一个特定的分区,其余的到另外2个怎么办?
  5. 一般来说,我如何向特定分区发送消息,以便了解消费者从何处阅读?或者我最好有多个主题?

提前致谢.

apache-kafka kafka-consumer-api kafka-producer-api

20
推荐指数
2
解决办法
2万
查看次数

如何将Java依赖项添加到Scala项目的sbt文件中

我有一个使用Apache NiFi接收器的火花流Scala项目.这些项目在Eclipse/Scala IDE下运行良好,现在我想将其打包以进行部署.当我把它添加为

libraryDependencies += "org.apache.nifi" %% "nifi-spark-receiver" % "0.3.0"
Run Code Online (Sandbox Code Playgroud)

sbt假设它是一个Scala库并试图解决它.

我如何将NiFi接收器及其所有依赖项添加到项目的SBT文件中?

此外,是否有可能将依赖项pint到本地目录而不是sbt试图解决?

提前致谢.

这是我的sbt文件内容:

name := "NiFi Spark Test"

version := "1.0"

scalaVersion := "2.10.5"

libraryDependencies += "org.apache.spark" %% "spark-core" % "1.5.2" % "provided"
libraryDependencies += "org.apache.nifi" %% "nifi-spark-receiver" % "0.3.0"
Run Code Online (Sandbox Code Playgroud)

scala sbt scala-ide spark-streaming apache-nifi

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

Apache NIFi MergeContent处理器 - 将分界符设置为新行

我想使用MergeContent处理器将推文合并到Elasticsearch索引中.为此我需要命令和推文(每个)由\n分隔.它应该是这样的

{ action: { metadata }}\n
{ request body        }\n
Run Code Online (Sandbox Code Playgroud)

这将是

{ “index”}
{ tweet1 }
{ tweet2 } 
Run Code Online (Sandbox Code Playgroud)

当我将\n作为分隔符时,处理器实际上将\n添加为字符串而不是新行分隔符.有可能使它成为真正的新线吗?也可以将页脚留空?

提前致谢.

apache-nifi

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

Spark SQL - 使用SQL语句而不是表名来使用JDBC加载数据

我想我错过了什么,但无法弄清楚是什么.我想使用特定的sql语句使用SQLContext和JDBC加载数据

select top 1000 text from table1 with (nolock)
where threadid in (
  select distinct id from table2 with (nolock)
  where flag=2 and date >= '1/1/2015' and  userid in (1, 2, 3)
)
Run Code Online (Sandbox Code Playgroud)

我应该使用哪种SQLContext方法?我看到的例子总是指定表名和下边距和上边距.

提前致谢.

apache-spark apache-spark-sql

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

如何在KIbana 4发现中将URL显示为可单击的链接

我的推文在ES中编入索引并在Kibana中显示.推特数据有一些网址.与entities.media.expanded_url或entities.urls.expanded_url类似.如何使这些在发现面板中显示为可点击链接?我转到索引设置并将格式默认更改为UR或图像,但没有任何反应.

提前致谢.

kibana kibana-4

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

ES 2.3 中我在哪里设置index.merge.scheduler.max_thread_count?

ES 2.3 中我在哪里设置index.merge.scheduler.max_thread_count?在elasticsearch.yml中没有找到它或者我应该将它添加到配置文件中吗?

elasticsearch

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