草庐IT

streamed

全部标签

scala - Spark Streaming - 刷新静态数据

我有一个SparkStreaming作业,它在启动时查询Hive并创建一个Map[Int,String]对象,然后该对象用于作业执行的部分计算。我遇到的问题是Hive中的数据每2小时就有可能发生变化。我希望能够按计划刷新静态数据,而不必每次都重新启动Spark作业。map对象的初始加载大约需要1分钟。非常欢迎任何帮助。 最佳答案 您可以使用监听器。每次为spark上下文中的任何流启Action业时都会触发。由于您的数据库每两个小时更新一次,因此每次更新AFAIK都没有什么坏处。sc.addSparkListener(newSpark

streaming - 如何在 hadoop 流中使用将文件名作为参数的二进制可执行文件?

假设我有一个二进制可执行文件,它将文件名作为参数,例如“myprogfile1file2”,它从文件1读取并写入文件2。二进制可执行文件不采用标准输入,也不发出标准输出。如何在hadoop流中将此二进制可执行文件用作映射器或缩减器?谢谢! 最佳答案 您必须先将数据保存为本地磁盘上的临时文件才能使用您的程序。然后您可以从文件中读取结果。但是,这违背了使用Hadoop处理数据的目的。将数据复制到本地磁盘并将结果读回Hadoop领域的开销会降低性能。我建议更改您的二进制可执行文件以允许通过标准输入和标准输出进行输入/输出。

python - 在 Hadoop Streaming 中创建一个单独的函数来读取文件的问题

我在创建一个单独的函数来读取HadoopStreaming中的文件时遇到了问题。mapper.py:效果很好(非常低效)#!/usr/bin/envpythonimportsysdefmain():forlineinsys.stdin:line=line.strip()#eachlinecontainsonlyoneword,5+millionlinesfilename="my_dict.txt"#contains7+millionwordsf=open(filename,"r")forline1inf:line1=line1.strip()ifline1==line:print'%s

hadoop - 在 hive 和 hadoop streaming-api 输出之间共享数据

我有几个hadoop流式api程序并使用此输出格式生成输出:“org.apache.hadoop.mapred.SequenceFileOutputFormat”流式api程序可以读取输入格式为“org.apache.hadoop.mapred.SequenceFileAsTextInputFormat”的文件。输出文件中的数据如下所示。val1-1,val1-2,val1-3val2-1,val2-2,val2-3val3-1,val3-2,val3-3现在我想用配置单元读取输出。我用这个脚本创建了一个表:CREATEEXTERNALTABLEIFNOTEXISTStable1(co

hadoop - 获取 hadoop streaming jobid

所有Hadoop作业都有唯一的jobid。您可以使用jobid获取作业状态或作业计数器。问题是我如何才能获得刚刚从我的脚本运行的作业的jobid?当然,我想以可靠且简单(如果可能)的方式做到这一点。例子:1)从我运行的脚本中:hadoopjar${HADOOP_STREAMING}\-Dmapred.job.name="$NAME"\-Dmapred.reduce.tasks=$NREDUCERS\-mapper"cat"\-file./reducer.py\-reducer"python./reducer.py"\-inputhdfs:/logs/2012-06-25/*.bz2\-

hadoop - 获取异常 WARN org.apache.hadoop.streaming.PipeMapRed : java. io.IOException: Broken pipe

出于某些调试目的,我正在现有的工作R脚本中添加打印语句。print("Hello")我在使用Hadoop流式处理执行此代码时收到Brokenpipe异常。如果我再次删除此打印件,它会起作用,对我来说听起来很奇怪!在编辑Rscript时,我正在通过窗口gitbash使用vi。您能否提出解决方案。 最佳答案 如果您的Hadoop集群由Linux节点组成,并且您提交的脚本是在windows或windowgitbash中编辑的,它将无法运行并抛出误导性异常。只需使用vi或emacs在linux中编辑文件。或者使用do2unix命令将文件从d

python - Hadoop MapReduce Streaming 输出与本地运行 MapReduce 的输出不同

我正在运行一个用python编写的简单mapreduce作业,我注意到当我在本地测试脚本时,我得到的结果与我在hadoop上运行该作业时不同。我的输入是这样的:key1val1key1val2key1val3key1val4key2val1key2val3key2val5key3val5key4val4我的映射器创建了一个值字典及其对应的键列表(字符串)(例如val1key1,key2;val2key1;val3key1,key2....)。然后对于字典中的每个值,我打印所有可能的key对。所以我的映射器的输出看起来像:key1_key21#obtainedfromval1key1_k

scala - Spark streaming 和 Dstream 如何工作?

我对Spark有相当多的经验。但是,我是第一次学习Sparkstreaming,发现它很难理解。很难理解应用程序的流程。例如,对于下面网站给出的例子http://ampcamp.berkeley.edu/3/exercises/realtime-processing-with-spark-streaming.html第3部分的代码。进一步的练习,我们有valwords=statuses.flatMap(status=>status.split(""))valhashtags=words.filter(word=>word.startsWith("#"))valcounts=hashta

Hadoop Streaming 错误没有这样的文件或目录

我研究了Hadoop,并使用Ruby测试了HadoopStreaming,看我的MapReduce算法是否可以正常工作。所以,我执行了下一个命令。hadoopjarhadoop-streaming-2.7.2.jar-filesmapper.rb,reducer.rb-mappermapper.rb-reducerreducer.rb-inputtest.json-outputtest但是,下一个错误发生了。dir/usercache/Kuma/appcache/application_1469093819516_0005/container_1469093819516_0005_01

windows - 如何在 Windows 10 上运行 Spark Streaming 应用程序?

我在MSWindows1064位上运行一个SparkStreaming应用程序,它使用spark-mongo-connector将数据存储在MongoDB中。.每当我运行Spark应用程序时,甚至pyspark我都会遇到以下异常:Causedby:java.lang.RuntimeException:Therootscratchdir:/tmp/hiveonHDFSshouldbewritable.Currentpermissionsare:rw-rw-rw-完整堆栈跟踪:Causedby:java.lang.RuntimeException:Therootscratchdir:/tm