织梦技术个人网站模板下载,wordpress主题域名怎么修改,小程序制作开发进度表,如何百度搜到网站apache hadoop播客的第22集是与Patrick Hunt的谈话 我们讨论了Apache Solr#xff08;上游#xff09;中的新工作#xff0c;使它可以在Apache Hadoop上工作。 Solr支持将其索引和事务日志文件写入和读取到HDFS分布式文件系统。 这不使用Hadoop Map-Reduce处理Solr数据上游中的新工作使它可以在Apache Hadoop上工作。 Solr支持将其索引和事务日志文件写入和读取到HDFS分布式文件系统。 这不使用Hadoop Map-Reduce处理Solr数据而是仅将HDFS文件系统用于索引和事务日志文件存储。 https://cwiki.apache.org/confluence/display/solr/RunningSolronHDFS 我们还讨论了Solr Cloud以及分片功能如何使Solr可以通过Hadoop集群进行扩展https://cwiki.apache.org/confluence/display/solr/SolrCloud 。 Apache Solr能够设置将容错能力和高可用性结合在一起的Solr服务器集群。 这些功能称为SolrCloud 这些功能提供分布式索引和搜索功能支持以下功能 整个集群的集中配置 自动负载平衡和查询故障转移 ZooKeeper集成用于集群协调和配置。 SolrCloud是灵活的分布式搜索和索引无需主节点即可分配节点分片和副本。 相反Solr使用ZooKeeper来管理这些位置具体取决于配置文件和架构。 可以将文档发送到任何服务器ZooKeeper会找出来。 帕特里克Patrick向我介绍了Morphlines 属于Hadoop Cloudera开发工具包的一部分 http://cloudera.github.io/cdk/docs/current/cdk-morphlines/index.html Cloudera Morphlines是一个开放源代码框架可减少构建和更改Hadoop ETL流处理应用程序所需的时间和技能这些应用程序可将数据提取转换并加载到Apache SolrHBaseHDFS企业数据仓库或分析在线仪表板中。 是否想在不进行编程和不具备大量MapReduce技能的情况下构建或促进ETL工作 以最少的麻烦和支持费用完成工作 这是入门方法。 morphline是一个丰富的配置文件可轻松定义一个转换链该转换链可使用来自任何类型数据源的任何类型的数据处理数据并将结果加载到Hadoop组件中。 它用简单的配置步骤代替了Java编程并相应地减少了与开发和维护定制ETL项目相关的成本和集成工作。 Morphlines是一个库可嵌入任何Java代码库中。 morphline是转换命令的内存容器。 命令是用于执行诸如加载解析转换或以其他方式处理单个记录之类的任务的morphline插件。 记录是具有可选blob附件或POJO附件的名称-值对的内存中数据结构。 该框架是可扩展的并且以直接的方式集成了现有功能和第三方系统。 morphline命令是Cloudera Search的一部分。 Morphlines支持ETL数据从Flume和MapReduce以及HBase流入Apache Solr。 Flume涵盖了实时情况而MapReduce涵盖了批处理情况。 自从推出Cloudera Search morphline开发以来毕业于Cloudera Development Kit CDK的目的是使该技术可以供Search以外的更多用户和产品使用。 CDK是一组库工具示例和文档旨在简化在Hadoop生态系统之上构建系统的工作。 CDK托管在GitHub上并鼓励社区参与。 例如可以将变形线嵌入CrunchHBaseImpalaPigHive或Sqoop中。 让我们知道您想去哪里 Morphlines可以看作是Unix管道的演进其中数据模型被通用化以与通用记录流包括任意二进制有效载荷一起工作。 morphline是一种使用记录例如Flume事件HDFS文件RDBMS表或Avro对象将它们转换为记录流并通过一系列易于配置的转换将记录流通过管道传递给用户的一种有效方式。目标应用程序例如Solr如下图所示 在此图中Flume源接收系统日志事件并将其发送到Flume Morphline SinkFlume Morphline Sink将每个Flume事件转换为一条记录并将其通过管道传递给readLine命令。 readLine命令提取日志行并将其通过管道grok到grok命令。 grok命令使用正则表达式模式匹配来提取该行的一些子字符串。 它将生成的结构化记录通过管道loadSolr到loadSolr命令。 最后 loadSolr命令将记录加载到Solr通常为SolrCloud中。 在此过程中原始数据或半结构化数据根据应用程序建模要求转换为结构化数据。 Morphline框架附带了一组常用的高级转换和I / O命令可以将它们组合为特定于应用程序的方式。 插件系统允许添加新的转换和I / O命令并以简单的方式集成现有功能和第三方系统。 通过这种集成可以实现快速的Hadoop ETL应用程序原型制作实时的复杂流和事件处理灵活的日志文件分析多种异构输入模式和文件格式的集成以及在Hadoop ETL应用程序之间重用ETL逻辑构造块。 CDK附带了一个高效的运行时该运行时可以动态编译吗啉。 运行时在同一线程中执行给定吗啉的所有命令。 将记录从一个命令传递到另一个命令仅意味着廉价的Java方法调用。 特别是没有队列没有线程之间的切换没有上下文切换也没有命令之间的序列化这使性能开销最小化。 变形线处理连续或任意大的记录流。 命令将一条记录转换为零个或多个记录。 数据模型可以描述如下记录是一组命名字段其中每个字段都有一个或多个值的有序列表。 值可以是任何Java对象。 即一条记录本质上是一个哈希表其中每个哈希表项都包含一个String键和一个Java Objects列表作为值。 请注意一个字段可以具有多个值并且任何两个记录都不必使用公共字段名。 这种灵活的数据模型完全符合Solr / Lucene数据模型的特征。 不仅结构化数据而且二进制数据都可以传递到吗啉并由其处理。 按照约定一条记录可以包含一个名为_attachment_body的可选字段该字段可以是Java java.io.InputStream或Java byte []。 可选地可以通过设置名为_attachment_mimetype例如“ application / pdf”和_attachment_charset例如“ UTF-8”和_attachment_name例如“ cars.pdf”的字段来更详细地表征此类二进制输入数据这有助于检测和解析数据类型。 这类似于电子邮件的工作方式。 此通用数据模型对于支持广泛的应用程序很有用。 例如 Apache Flume Morphline Solr Sink嵌入了morphline库并执行了morphline将水槽事件转换为morphline记录并将其加载到Solr中。 该接收器将Flume事件的主体填充到morphline记录的_attachment_body字段中并将Flume事件的标题复制到同名的记录字段中。 另一个示例是 MapReduceIndexerTool的Mappers将JavaXML java.io.InputStream引用当前处理的HDFS文件填充到morphline记录的_attachment_body字段中。 MapReduceIndexerTool的Mappers还将有关HDFS文件的元数据填充到记录字段中例如文件的名称路径大小上次修改时间等。这样吗啉可以作用于从Flume和HDFS接收的所有数据。 作为另一个示例 Morphline Lily HBase索引器将HBase结果Java POJO填充到morphline记录的_attachment_body字段中。 这样 extractHBaseCells命令例如extractHBaseCells可以从HBase更新中提取数据并相应地更新Solr索引。 我们还谈论了很多有关Apache Zookeeper的信息以及有关Zookeeper最初在Yahoo!上的历史。 和帕特里克从那以后的经历。 要听到Patrick所说的一切请订阅播客。 翻译自: https://www.javacodegeeks.com/2014/05/apache-solr-real-time-live-index-updates-at-scale-with-apache-hadoop.htmlapache hadoop