草庐IT

hadoop - 如何从命令行运行 Spark-java 程序

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我正在spark中运行wordcountjava程序。如何从命令行运行它。

hadoop - 如何通过 Hadoop shell 脚本指定 Hadoop XML 配置变量?

我正在编写代码来创建一个临时的Hadoop集群。与大多数Hadoop集群不同,我需要将日志、HDFS文件等的位置放在每次集群启动时都不同的特定临时网络位置。此网络目录将在运行时生成;我在检查hadoop-env.sh等shell脚本和core-default.xml等XML文件时不知道目录名称。在checkin时间:我可以修改shell脚本,如hadoop-env.sh和XML文件,如core-default.xml.在运行时:我生成要用于我的数据存储的临时目录。我可以通过指定HADOOP_LOG_DIR和HADOOP_PID_DIR等环境变量来指示大部分Hadoop使用这个临时目录,

scala - Apache Spark 抛出 java.lang.IllegalStateException : unread block data

我们正在做的是:根据网站上的文档安装Spark0.9.1,以及hadoop/hdfs的CDH4(和另一个带有CDH5的集群)发行版。使用sbt构建带有Spark应用程序的fatjar,然后尝试在集群上运行它我还在底部包含了代码片段和sbtdeps。当我用谷歌搜索这个时,似乎有两个有点含糊的回答:a)节点/用户代码上的spark版本不匹配b)需要向SparkConf添加更多的jar现在我知道(b)不是在其他集群上成功运行相同代码但只包含一个jar(它是一个胖jar)的问题。但我不知道如何检查(a)-似乎Spark没有任何版本检查或任何东西-如果它检查版本并抛出“不匹配的版本异常:你有用户

Hadoop:HDFS 文件写入和读取

我有一个关于HDFS文件读写的基本问题。例如,如果我正在写一个文件,使用默认配置,Hadoop内部必须将每个block写入3个数据节点。我的理解是,对于每个block,首先客户端将block写入管道中的第一个数据节点,然后通知第二个数据节点,依此类推。一旦第三个数据节点成功接收到block,它会向数据节点2提供确认,最后通过数据节点1向客户端提供确认。只有在收到block的确认后,写入才被视为成功,客户端继续进行写下一个block。如果是这种情况,那么写入每个block所花费的时间是不是比传统的文件写入要多,因为-复制因子(默认为3)和写入过程按block顺序进行。如果我理解有误,请指

hadoop - 具有在 HDFS 上查找数据的 Kafka Streams

我正在使用KafkaStreams(v0.10.0.1)编写应用程序,并希望使用查找数据丰富我正在处理的记录。此数据(带时间戳的文件)每天(或每天2-3次)写入HDFS目录。如何在KafkaStreams应用程序中加载它并加入实际的KStream?当新文件到达那里时从HDFS重新读取数据的最佳做法是什么?或者切换到KafkaConnect并将RDBMS表内容写入Kafka主题,所有KafkaStreams应用程序实例都可以使用它会更好吗?更新:正如建议的那样,KafkaConnect将是必经之路。因为查找数据在RDBMS中以每日为基础进行更新,所以我正在考虑按计划运行KafkaConn

hadoop - 如何知道一个新数据被添加到 HDFS?

我正在实现一个基于发布订阅模型的通知系统,以在数据到达/加载到HDFS时通知数据的可用性。我没有找到在哪里寻找这个的方法。是否有任何HDFSAPI可用于执行此操作,或者我应该使用什么方法来获取写入HDFS的新数据的信息?我正在使用Hadoopv2.0.2,我不想使用HCatalog,我想实现我自己的工具来执行此操作。 最佳答案 您正在寻找的是OozieCoordinator。HDFS是一个文件系统,因此必须在HDFS之上构建一些东西来检查文件可用性。HBase有触发过程的协处理器。但它仅适用于HBase表。因此它不能用于检测HDFS

hadoop - 在 Hadoop 中是否有一个通用的地方来存储数据模式?

我最近一直在研究如何使用Hadoop、Hive和Pig进行一些数据转换。作为其中的一部分,我注意到数据文件的架构似乎根本没有附加到文件。数据文件只是平面文件(除非使用类似SequenceFile的文件)。每个想要使用这些文件的应用程序都有自己的方式来表示这些文件的架构。例如,我将一个文件加载到HDFS,并想用Pig对其进行转换。为了有效地使用它,我需要在加载数据时指定文件的架构:EMP=LOAD'myfile'usingPigStorage()as{first_name:string,last_name:string,deptno:int};现在,我知道当使用PigStorage存储文

java - NoSuchMethodError 使用 Builder 将 Avro 对象写入 HDFS

将对象写入HDFS时出现此异常:Exceptioninthread"main"java.lang.NoSuchMethodError:org.apache.avro.Schema$Parser.parse(Ljava/lang/String;[Ljava/lang/String;)Lorg/apache/avro/Schema;atcom.blah.SomeType.(SomeType.java:10)它在生成的代码中引用的行是这样的:publicclassSomeTypeextendsorg.apache.avro.specific.SpecificRecordBaseimpleme

hadoop - mapreduce split和spark partition的区别

我想问一下,在使用Hadoop/MapReduce和Spark时,数据分区是否有任何显着差异?它们都在HDFS(TextInputFormat)上工作,因此理论上应该是相同的。是否存在数据分区程序可能不同的情况?任何见解都会对我的研究非常有帮助。谢谢 最佳答案 IsanysignificantdifferenceindatapartitioningwhenworkingwithHadoop/mapreduceandSpark?Spark支持所有hadoopI/O格式,因为它使用相同的HadoopInputFormatAPI以及它自己

hadoop - hdfs dfs 命令很慢 - 有没有办法让它更快?

我在Hadoop2.2.0上运行单节点设置。我的理解是hdfsdfs-ls很慢,因为它每次被调用时都会启动一个JVM。有没有办法让它保持JVM运行,以便简单的命令可以更快地完成? 最佳答案 我想告知您我们为解决此问题所做的解决方案。我们创建了一个新的实用程序-HDFSShell以更快地使用HDFS。https://github.com/avast/hdfs-shellHDFSDFS为每个命令调用启动JVM,HDFSShell只启动一次-这意味着当您需要更频繁地使用HDFS时速度会大大提高可以使用简短的方式使用命令-例如。hdfsdf