草庐IT

sparking

全部标签

hadoop - 如何将大部分数据合并到 spark/Hive 中的单个目录中

我有一个要求,对大量数据进行分区并将其插入到Hive中。为了绑定(bind)这些数据,我使用了DF.Coalesce(10)。现在我想将这个分区数据绑定(bind)到单个目录,如果我使用DF.Coalesce(1)性能会降低吗?或者我有任何其他流程可以这样做吗? 最佳答案 据我了解,您正在尝试确保每个分区的文件数较少。因此,通过使用coalesce(10),每个分区最多可获得10个文件。我会建议使用repartition($"COL"),这里COL是用于分区数据的列。这将确保您的“巨大”数据根据HIVE中使用的分区列进行拆分。df.

java - 如何从 Spark 中的 Slaves 内存创建 RDD?

我知道这听起来可能很傻,但是有什么方法可以从当前位于集群从属内存中的文件创建RDD吗?我知道要创建一个RDD,我们必须指定存储文件的路径/hdfs路径。但我很好奇我是否可以在Javaapplications之间复制对象并以相同的名称将对象直接放入奴隶的内存中,有没有办法用这些文件创建RDD和/或以分布式方式工作?提前致谢! 最佳答案 简短的回答是否定的。“奴隶”根本不参与计算。只负责资源管理部分。另一方面,worker本身并不存在。它们与应用程序相关联,因此在它之外没有“当前状态”。您可以做的是创建虚拟RDD并在对它们调用函数时加载

hadoop - 我可以在每个从节点中使用分段文件运行 Spark 吗?

假设我有两个奴隶和一个主人。之前我已经在所有从属节点中复制并粘贴了相同的数据。JavaPairRDDseqVectors=sc.sequenceFile(inputPath,IntWritable.class,VectorWritable.class);这里的inputpath不是HDFS路径,而是每个slave节点都可以访问的本地路径。但是现在我正在考虑这样一种情况,即每个从站都有部分数据,我想使用相同的代码,而不安装/使用HDFS。但问题是在运行相同的代码后,程序运行没有任何错误但不产生任何结果。因为master在“inputPath”中没有数据。slaves在“inputPath

scala - Scala Spark 中的 groupBy 函数需要 Lzocodec 吗?

我在ScalaSpark中创建了一个如下所示的函数。defprepareSequences(data:RDD[String],splitChar:Char='\t')={valx=data.map(line=>{valArray(id,se,offset,hour)=line.split(splitChar)(id+"-"+se,Step(offset=if(offset=="NULL"){-5}else{offset.toInt},hour=hour.toInt))})valy=x.groupBy(_._1)}我需要groupBy但是一旦我添加它,我就会收到错误消息。错误要求Lzoc

java - Spark join/groupby 数据集需要很多时间

我有2个包含35kk+行的数据集(表)。我尝试通过一些ID来加入(或分组依据)这个数据集。(通常是一对一)但是这个操作需要很多时间:25+h。过滤器只能正常工作:~20分钟。环境:emr-5.3.1Hadoop分布:亚马逊应用:Ganglia3.7.2、Spark2.1.0、Zeppelin0.6.2实例类型:m3.xlarge代码(groupBy):Datasetdataset=.......groupBy("id").agg(functions.min("date")).withColumnRenamed("min(date)","minDate")代码(加入):....join(

hadoop - mesos 上的 spark 是否支持数据局部性?

mesos上的spark是否支持数据局部性?假设mesos代理在数据节点上运行。 最佳答案 数据局部性支持完全不依赖于集群管理器。这仅取决于数据的来源。因此,如果您谈论HDFS数据节点,那么答案是肯定的-它确实支持数据局部性。 关于hadoop-mesos上的spark是否支持数据局部性?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/48729859/

apache-spark - 我有一个很大的 hql 查询,我正在使用 pyspark sql 调用它。但是我收到错误,例如 Bad connect ack with firstBadLink error

我知道以前也有人问过这个问题,但我问这个问题是因为我不确定问题是否相同。问题是我使用的是spark-sql,我首先创建了一个表:sqlContext=HiveContext(sc)sqlContext.sql("""droptableifexiststest_table""")sqlContext.sql("""createexternaltabletest_table......)partitionedby('column_name'datatype)storedastextfilelocation'/home/..../test_table'""")Thistablehaslike

amazon-web-services - Spark - "spark.deploy.spreadOut = false"可以在 S3 上提供性能优势

我了解将“spark.deploy.spreadOut”设置为true可以使HDFS受益,但是对于S3,设置为false是否比true更有优势? 最佳答案 如果您正在运行Hadoop和HDFS,那么使用该属性适用的SparkStandalone调度程序不会对您有好处。相反,您应该运行YARN,并且ResourceManager确定执行程序的分布方式如果您在EC2中运行独立调度程序,则设置该属性会有所帮助,默认值为true。换句话说,你从哪里读取数据不是这里的决定因素,master的部署模式是更好的性能优势将来自您尝试读取的文件数量以

apache-spark - 如何使用 Spark Scala 连接 3 个 RDD

我想使用sparkrdd加入3个表。我使用sparksql实现了我的目标,但是当我尝试使用Rdd加入它时,我没有得到想要的结果。下面是我使用sparkSQL和output的查询:scala>actorDF.as("df1").join(movieCastDF.as("df2"),$"df1.act_id"===$"df2.act_id").join(movieDF.as("df3"),$"df2.mov_id"===$"df3.mov_id").filter(col("df3.mov_title")==="AnnieHall").select($"df1.act_fname",$"df

scala - 如何使用 Spark 读取不断更新的 HDFS 目录并根据字符串(行)将输出拆分为多个 HDFS 文件?

详细场景->HDFS目录,其中“提供”了多种类型的银行账户事件的新日志数据。每行代表一个随机事件类型,每行(String)包含文本“ActivityType=”。在Spark-Scala中,读取HDFS目录中的输入文件并输出多个HDFS文件的最佳方法是什么,其中每个ActivityType都写入其自己的新文件? 最佳答案 改编为声明的第一个答案:Thelocationofthe"key"stringisrandomwithintheparentString,theonlythingthatisguaranteedisthatitco