Windows服务器上的Hadoop
我正在考虑使用Hadoop在我现有的Windows 2003服务器上处理大型文本文件(大约10台具有16GB RAM的四核计算机) 问题是: 是否有关于如何在Windows上配置Hadoop群集的好教程? 有什么要求? Java + Cygwin + SSHD?还有其他吗? hdfs,它在Windows上播放吗? 我想在流模式下使用Hadoop.在C#? 中开发自己的映射器/还原器的任何建议,工具或技巧 您使用什么来提交和监视工作? 谢谢 解决方案 来自: Win32被支持为A 开发 平台.分布式操作具有 在Win32上没有经过很好的测试,所以 不支持A 生产 平台. 我认为是:"你一个人." 也就是说,如果您对安装cygwin和java shim的安装不感到不安,可能会有希望,根据 也可以运行hadoop 守护程序作为Windows服务使用 Java服务包装器(下载 这是单独的).这仍然需要 cygwin被安装为h
0 2024-04-14
编程技术问答社区
是否有与Apache Hadoop相当的.NET?
所以,我一直在看 hadoop ,老实说,我很着迷,事情不会变得更酷. 我唯一的小问题是我是C#开发人员,它在Java中. 并不是我不像我要寻找的hadoop.net或nhadoop或包含 解决方案 您是否考虑使用 hadoop的流媒体? 我一直在Python中使用它: - ). 我开始看到异质方法通常是最好的,而且看起来其他人也在做同样的方法. 如果您查看诸如《协议 - 支过落证》或Facebook的节俭之类的项目,您会发现有时最好使用用另一种语言编写的应用程序并以您的喜好语言构建胶水. 其他解决方案 最近,MySpace发布了他们的.NET MAPREDUCE框架, qizmt 来源,这也是这个空间中的潜在竞争者. 其他解决方案 请参阅 http://research.microsoft.com/en-us/projects/dryAdlinq/default.aspx 或
0 2024-04-12
编程技术问答社区
hadoop与teradata的区别是什么?
我已经触摸了teradata.我从未触过Hadoop,但是从昨天开始,我就对此进行了一些研究.通过对两者的描述,它们似乎是可以互换的,但是在某些论文中,它们是为了不同的目的而提供的.但是我发现的只是模糊的.我很困惑. 有没有人经历过他们俩?它们之间有什么严重区别? 简单的示例:我想构建ETL,该ETL将转换数十亿行的原始数据并将其组织为DWH.然后对它们进行一些资源昂贵的分析.为什么要使用TD?为什么哈德普?或为什么不呢? 解决方案 我想其他解决方案 hadoop,带有扩展的hadoop,rdbms功能/属性比较 我不是该领域的专家,但是在coursera.com课程,数据科学简介中,有一个名为:比较MapReduce和数据库的讲座,以及对地图中平行数据库的讲座课程. 这是从这些讲座中进行的关于MapReduce与RDBMS(不一定是平行RDMB)的比较的摘要. 要记住的一点是,如果您在诸如猪,蜂巢等之类的hadoop上包含扩展名,则比较有所不同. R
2 2024-04-05
编程技术问答社区
是否有可能只用一个协调者来启动一些OOZIE工作流程?
我不一定要将好工具用于我想要的. 我有很多工作流程,可以取决于是否取决于. 景象: /workflow1 /workflow.xml /job.properties /workflow2 /workflow.xml /job.properties .... 我认为我们可以拥有一个可以在所有工作流程的情况下启动(在某些数据条件下)的corrdinator.但是我开始认为这不是一个好习惯. 我们是否应该每个工作流程有一个协调器,并且所有执行条件 +一个bundle启动所有coodinator?这样: /wf1 /workflow.xml /job.properties /coordinator.xml /wf2 /workflow.xml /job.properties /coordinator.xml /bundle.xml 或一个协调员可以启动所有工作流程(它们可以取决于是否取决于)? /wf1
0 2024-04-05
编程技术问答社区
在windows上构建hadoop 2.6时出错--inutils.vcxproj损坏或无效
我正在尝试在Windows上构建Hadoop 2.6,并在其网站上提到的先决条件安装. i; m在构建时会遇到以下致命错误,并且过程停止.有什么建议. Hadoop 2.5.2井井有条,没有任何问题. 谢谢! s\winutils.vcxproj" (default target) (4) -> (Link target) -> LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt [C:\Hadoop\hadoop-2.6.0-src\hadoop-common-project\hadoop-common\src\mai n\winutils\winutils.vcxproj] 57 Warning(s) 1 Error(s) Time Elapsed 00:00:05.67 [INFO] --------------------
0 2024-04-05
编程技术问答社区
使用ant构建Hadoop 1.2.1核心jar-失败
我需要对地图类进行一些修改,并从Hadoop中减少类,因此,我一直在尝试使用源文件中的ant编译Hadoop 1.2.1 JAR文件,但是我总是会收到以下错误: Buildfile: build.xml clover.setup: clover.info: [echo] [echo] Clover not found. Code coverage reports disabled. [echo] clover: ivy-download: [get] Getting: http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.1.0 /ivy-2.1.0.jar [get] To: /home/user/Downloads/hadoop-1.2.1/ivy/ivy-2.1.0.jar [get] Not modified - so not downloaded ivy-init-dirs:
0 2024-04-05
编程技术问答社区
在Windows上编译Hadoop时缺少'amintrin.h'?
update-2 我已经更新了Windows SDK编译器,现在将错误减少到2. c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h(26): fatal error C1083: Cannot open include file: 'ammintrin.h': No such file or directory [C:\hadoop-2.7.0-src\hadoop-common-project\hadoop-common\src\main\native\native.vcxproj] 现在,无论何时搜索,我都发现要获得此.H文件,我需要安装Microsoft Visual Studio Service Pack 1.我没有Visual Studio,我使用Windows SDK 7.1.现在,在哪里可以找到Windows SDK 7.1的等效服务包1? update-2结束
0 2024-04-05
编程技术问答社区
用Hadoop构建Giraph
我试图用Hadoop 2.7.1设置Giraph 尽我所能,它似乎不起作用. 我尝试遵循以下链接, http://giraph.apache.org/build.html.html 我尝试使用mvn -Phadoop_yarn -Dhadoop.version=2.7.1 -DskipTests package 构建时会发生什么 hadoopuser:/usr/local/giraph$ mvn -Phadoop_yarn -Dhadoop.version=2.7.1 -DskipTests package [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Reactor Build Order: [INFO] [INFO] Apache Giraph Parent [INFO] A
0 2024-04-04
编程技术问答社区
使用TableMapper时的HBase Mapreduce依赖性问题
我正在使用CDH5.3,并且我正在尝试编写MapReduce程序来扫描表并进行一些操作.我创建了一个映射器,该映射器扩展了tablemapper和我得到的例外是: java.io.FileNotFoundException: File does not exist: hdfs://localhost:54310/usr/local/hadoop-2.5-cdh-3.0/share/hadoop/common/lib/protobuf-java-2.5.0.jar at org.apache.hadoop.hdfs.DistributedFileSystem$17.doCall(DistributedFileSystem.java:1093) at org.apache.hadoop.hdfs.DistributedFileSystem$17.doCall(DistributedFileSystem.java:1085) at org.apache.hadoop.fs.FileSys
0 2024-04-04
编程技术问答社区
如何使用Java从Hadoop读取带有偏移量的文件
问题:我想从HDFS中读取文件的一部分并将其返回,例如1000行的文件101-120. . 我不想使用seek,因为我读到它很昂贵. 我有日志文件,我正在使用PIG将其处理成有意义的数据集.我一直在编写API来返回数据以进行消费,并在前端显示.那些处理过的数据集可能足够大,以至于我不想在一个slup中读取整个文件以节省电线时间和带宽. (假设5-10MB) 目前,我正在使用BufferedReader返回工作正常的小摘要文件 ArrayList lines = new ArrayList(); ... for (FileStatus item: items) { // ignoring files like _SUCCESS if(item.getPath().getName().startsWith("_")) { continue; } in = fs.open(item.getPath()
0 2024-04-04
编程技术问答社区
在浏览器中执行hadoop命令
我遵循著名的迈克尔·诺尔教程 http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-node-cluster/ 在单节点中安装hadoop 现在我想通过php 通过浏览器执行以下命令 usr/local/hadoop/bin/hadoop jar /usr/local/hadoop/contrib/streaming/hadoop-*streaming*.jar -mapper "/usr/bin/python /var/www/DataMining/AnalysisByYear/AnalysisByYear_mapper.py 2011" -reducer "/usr/bin/python /var/www/DataMining/AnalysisByYear/AnalysisByYear_reducer.py" -input /user/hduser/dataset/f
0 2024-04-04
编程技术问答社区
您可以选择BOTO3 S3协议吗?
显然,正常的S3URI协议几乎是弃用的.这是BOTO3使用的吗?我们可以选择新的首选方法S3N或S3A吗? 来自Amazons3 wiki : 由S3支持的基于块的文件系统.文件作为块存储,就像在HDF中一样.这允许有效地实施重命名.该文件系统要求您为文件系统专用一个存储桶 - 您不应使用包含文件的现有存储桶,也不应将其他文件写入同一存储桶.该文件系统存储的文件可能大于5GB,但与其他S3工具无法互操作.没有人应该/应该再通过此方案将数据上传到S3;最终将完全从Hadoop中删除.考虑一下(截至2016年5月),弃用. 解决方案 作为后端boto3使用AWS S3 REST API: http://docs.aws.aws.amazon.com/amazon.com/amazons.com/amazons/amazons3/latest/api/api/welcome.html 这是目前唯一可用的选项. 如果您不喜欢BOTO3的工作方式,请考虑制定自己的请
8 2024-04-03
编程技术问答社区
Hadoop-map-reduce任务如何知道要处理文件的哪一部分?
我已经开始学习hadoop,目前我正在尝试处理结构不太良好的日志文件 - 因为我通常使用m/r键的值很典型地找到文件(一次).因此,基本上我的映射功能将该值作为键,然后扫描文件的其余部分以汇总所需的值.因此,[假]日志可能看起来像这样: ## log.1 SOME-KEY 2012-01-01 10:00:01 100 2012-01-02 08:48:56 250 2012-01-03 11:01:56 212 .... many more rows ## log.2 A-DIFFERENT-KEY 2012-01-01 10:05:01 111 2012-01-02 16:46:20 241 2012-01-03 11:01:56 287 .... many more rows ## log.3 SOME-KEY 2012-02-01 09:54:01 16 2012-02-02 05:53:56 333 2012-02-03 16:53:40 208 .... many
4 2024-04-01
编程技术问答社区
HDFS的附加功能是如何工作的
让我们假设一个人使用默认块大小(128 MB),并且使用130 MB的文件;因此,使用一个全尺寸块和一个具有2 MB的块.然后需要将20 MB附加到文件上(现在总计应为150 MB).会发生什么? HDF实际上是否将最后一个块的大小从2MB调整到22MB?或创建一个新块? 在HDFS中的文件附加如何处理限制? Dataloss是否有风险? HDF会创建第三个块将20+2 MB放入其中,然后用2MB删除块.如果是,它如何同时起作用? 解决方案 根据 ,我们找到了您问题的以下答案: hdfs将附加到最后一个块,不是创建一个新块,然后从旧的最后一个块中复制数据.这并不困难,因为HDFS仅使用正常文件系统作为正常文件编写这些块文件.普通文件系统具有附加新数据的机制.当然,如果填写最后一个块,您将创建一个新的块. 在HDFS中同时允许只有一个写入或附加到任何文件,因此没有并发处理.这是由Namenode管理的.如果您希望其他人开始写作,则需要关闭文件. 如果未复
0 2024-04-01
编程技术问答社区
HDFS中的数据块大小,为什么是64MB?
HDFS/HADOOP的默认数据块大小为64MB.磁盘中的块大小通常为4KB. 64MB块大小是什么意思? - >这是否意味着磁盘的最小阅读单元是64MB? 如果是,这样做的优势是什么? - >轻松在HDFS中连续访问大文件? 我们可以使用磁盘的原始4KB块大小吗? 解决方案 64MB块大小是什么意思? 块大小是文件系统可以存储的最小数据单元.如果您存储一个1K或60MB的文件,则将占用一个块.越过64MB边界后,您需要第二个街区. 如果是,这样做的优势是什么? HDFS旨在处理大文件.假设您有一个1000MB文件.在4K块大小的情况下,您必须提出256,000个请求才能获取该文件(每个块1请求).在HDF中,这些请求跨越了网络,并带有许多开销.每个请求都必须按名称节点处理,以确定可以找到该块的位置.那是很多流量!如果您使用64MB块,请求的数量降至16,大大降低了开销的成本和加载名称Node. 其他解决方案 HDFS的设计最初是受
2 2024-04-01
编程技术问答社区
为什么我在pyspark中收集的`binaryFiles`是空的?
我在同一文件夹中的HDF上有两个zip文件:/user/path-to-folder-with-zips/. 我将其传递给pyspark中的"二进制文件": zips = sc.binaryFiles('/user/path-to-folder-with-zips/') 我正在尝试解压缩zip文件,并对其中的文本文件进行操作,因此我试图查看当我尝试处理RDD时的内容.我这样做了: zips_collected = zips.collect() 但是,当我这样做时,它给出一个空列表: >> zips_collected [] 我知道Zips不是空的 - 它们有文本文件.文档在这里说 每个文件都被读为一个记录,并以键值对返回,其中键是每个文件的路径,值是每个文件的内容. 我在这里做错了什么?我知道我无法查看文件的内容,因为它被拉开了,因此是二进制的.但是,我至少应该能够看到 .为什么不返回任何东西? 每个zip文件可能有多个文件,但内容总是这
6 2024-03-30
编程技术问答社区
在Hadoop MapReduce中为二进制文件创建自定义InputFormat和RecordReader
我正在编写一个M/R作业,该作业处理以二进制格式编写的大型时间序列数据,该文件看起来像这样(这里的新行以可读性,实际数据是连续的): TIMESTAMP_1---------------------TIMESTAMP_1 TIMESTAMP_2**********TIMESTAMP_2 TIMESTAMP_3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%TIMESTAMP_3 .. etc ,其中时间戳只是8个字节结构,可以通过前两个字节来识别.如上所述,实际数据在重复的值时间戳之间有限,并包含一个或多个预定义的结构.我想编写一个自定义输入图,将键/值对发射给映射器: 从逻辑上讲,我想跟踪当前TIMESTA
2 2024-03-30
编程技术问答社区
如何在Hadoop流中使用 "typedbytes "或 "rawbytes"?
我有一个问题,可以通过"键入"或" rawbytes"模式中的hadoop流媒体来解决,这允许人们用Java以外的其他语言分析二进制数据. (没有此,流式传输会解释一些字符,通常是\ t和\ n,因为定界符并抱怨非UTF-8字符.将我的所有二进制数据转换为base64将减慢工作流程,击败目的.) ) > 通过 hadoop-1722 添加了这些二进制模式.在调用hadoop流的命令行上," -io rawbytes"使您可以将数据定义为32位整数大小,然后是该大小的原始数据," -io typedbytes"使您可以将数据定义为1 -bit零(意味着原始字节),然后是32位整数大小,然后是该大小的原始数据.我已经使用这些格式(带有一个或多个记录)创建了文件,并通过使用/反对 typedbytes.py .我还尝试了所有可以想象的变体(大端,小型,不同的字节偏移等).我正在使用hadoop 我将二进制文件复制到使用" Hadoop fs -copyfromlocal"的HDF.当我尝
0 2024-03-30
编程技术问答社区
Hadoop流。Mapper 'wrapping'一个二进制可执行文件
我有一条目前在大型大学计算机集群上运行的管道.为了出版目的,我想将其转换为MapReduce格式,以便任何人都可以使用Hadoop群集(例如Amazon Webservices(AWS))运行它.该管道当前由AS系列Python脚本组成,这些脚本包含不同的二进制可执行文件,并使用Python子过程和Tempfile模块来管理输入和输出.不幸的是,我没有编写二进制可执行文件,其中许多人要么不服用stdin,要么不以"可用"的方式发出Stdout(例如,仅将其发送到文件).这些问题就是为什么我将其中的大多数包裹在Python中. 到目前为止,我已经能够修改我的python代码,以便我有一个映射器和一个还原器,可以以标准的"测试格式"在本地计算机上运行. $ cat data.txt | mapper.py | reducer.py 映射器格式的每条数据线都按照它所需的二进制方式,将文本发送到使用subprocess.popen的二进制文件(这也允许我掩盖很多虚假的stdout
4 2024-03-30
编程技术问答社区
在spark RDD中,如何在没有combinedByKey和aggregateByKey的情况下获得指定的输出?
以下是我的数据: val keysWithValuesList = Array("foo=A", "foo=A", "foo=A", "foo=A", "foo=B", bar=C","bar=D", "bar=D") 现在,我想要以下输出类型,但不使用combineByKey和aggregateByKey: 1) Array[(String, Int)] = Array((foo,5), (bar,3)) 2) Array((foo,Set(B, A)), (bar,Set(C, D))) 以下是我的尝试: scala> val keysWithValuesList = Array("foo=A", "foo=A", "foo=A", "foo=A", "foo=B", "bar=C", | "bar=D", "bar=D") scala> val sample=keysWithValuesList.map(_.split("="))
0 2024-03-30
编程技术问答社区