草庐IT

Spark-DataFrame

全部标签

scala - 为什么我的 Spark 作业中有这么多任务?默认获取 200 个任务

我有一个spark作业,它从hdfs获取一个包含8条记录的文件,进行简单的聚合并将其保存回hdfs。我注意到执行此操作时有数百个任务。我也不确定为什么会有多个作业?我认为工作更像是一个Action发生的时候。我可以推测原因——但我的理解是,在这段代码中,它应该是一项工作,应该分解成多个阶段,而不是多项工作。为什么不把它分解成阶段,它怎么分解成工作?就200多个任务而言,由于数据量和节点数量微乎其微,因此当只有一个聚合和一对时,每行数据有25个任务是没有意义的的过滤器。为什么每个原子操作的每个分区不只有一个任务?这是相关的scala代码-importorg.apache.spark.sq

hadoop - 如何让 shark/spark 清除缓存?

当我运行我的shark查询时,内存被储存在主内存中这是我的top命令结果。内存:总计74237344k,已使用70080492k,空闲4156852k,缓冲区399544k交换:总共4194288k,已使用480k,免费4193808k,缓存65965904k即使我杀死/停止shark、spark、hadoop进程,这也不会改变。目前,清除缓存的唯一方法是重启机器。有没有人遇到过这个问题?是spark/shark中的某些配置问题还是已知问题? 最佳答案 删除所有缓存数据:sqlContext.clearCache()来源:https

scala - 合并具有单个 header 的 Spark 输出 CSV 文件

我想在AWS中创建数据处理管道,最终将处理后的数据用于机器学习。我有一个Scala脚本,它从S3获取原始数据,对其进行处理并使用Spark-CSV将其写入HDFS或什至S3。如果我想使用AWSMachineLearning工具来训练预测模型,我想我可以使用多个文件作为输入。但如果我想使用其他东西,我认为最好是收到一个CSV输出文件。目前,由于我不想使用repartition(1)或coalesce(1)来提高性能,我使用了hadoopfs-getmerge用于手动测试,但由于它只是合并作业输出文件的内容,我遇到了一个小问题。我需要在数据文件中一行标题来训练预测模型。如果我对spark-

hadoop - 运行 Spark 作业时,YARN 不会基于公平份额抢占资源

我在重新平衡YARN上的ApacheSpark作业资源时遇到问题FairScheduled队列。对于测试,我已将Hadoop2.6(也尝试过2.7)配置为在MacOS上使用本地HDFS以伪分布式模式运行。对于作业提交,使用来自Spark'swebsite的“为Hadoop2.6及更高版本预构建Spark1.4”(也尝试过1.5)分发.在HadoopMapReduce作业上使用基本配置进行测试时,公平调度程序按预期工作:当集群的资源超过某个最大值时,计算公平份额,并根据这些计算抢占和平衡不同队列中作业的资源。对Spark作业运行相同的测试,在这种情况下,YARN正在为每个作业正确计算公平

hadoop - 在 Spark 执行器节点上安装 Python 依赖项的最简单方法?

我知道您可以将单个文件作为PythonSpark程序的依赖项发送。但是成熟的库(例如numpy)呢?Spark是否有办法使用提供的包管理器(例如pip)来安装库依赖项?还是必须在执行Spark程序之前手动完成?如果答案是手动的,那么在大量分布式节点上同步库(安装路径、版本等)的“最佳实践”方法是什么? 最佳答案 实际上已经尝试过了,我认为我作为评论发布的链接并不能完全满足您对依赖项的要求。您非常合理地要求的是一种让Spark在安装依赖项方面与setuptools和pip很好地配合的方法。令我震惊的是,这在Spark中并没有得到更好的

hadoop - 退出代码和退出状态是否意味着 Spark ?

当在yarn上运行Spark时,我总是看到退出代码和退出状态:这里有一些:CoarseGrainedExecutorBackend:RECEIVEDSIGNAL15:SIGTERM...failed2timesduetoAMContainerforapplication_1431523563856_0001_000002exitedwithexitCode:10......Exitstatus:143.Diagnostics:Containerkilledonrequest...Containerexitedwithanon-zeroexitcode52:......Container

Spark大数据分析与实战笔记(第二章 Spark基础-03)

文章目录每日一句正能量章节概要2.3Spark运行架构与原理2.3.1基本概念2.3.2Spark集群运行架构2.3.3Spark运行基本流程每日一句正能量又回到了原点,就从现在开始我的新生活吧。章节概要章节概要:Spark运行架构与原理I.引言A.概述SparkB.Spark的特点和优势II.Spark运行架构概述A.Spark集群模式B.Spark运行模式C.Spark执行引擎:SparkCoreD.Spark计算模块:RDDE.Spark数据抽象模块:DataFrame和DatasetF.Spark资源管理器:ClusterManagerG.Spark任务调度器:DAG调度器III.Sp

在R DataFrame中,如何搜索以前的交易信息

假设我有一个R数据框。每行代表某人在特定日期进行的交易。有许多专栏拥有有关交易的更多信息,例如他/她花的钱和他/她购买的商品数量。一个人可能有许多交易,因此一个人可能会有几行。假设我想拥有一列,以记录客户在上次交易中花费多少。目前,我正在使用for循环查看整个数据框架,以检查该客户是否具有先前的交易。如果客户有以前的交易,那么我为字段添加价值;如果没有,我只是跳到下一行。它起作用,但我正在处理一个超过170万行的数据框架,以使我的循环对我来说太慢了。您有更好的想法解决问题吗?欣赏!!!看答案假设你有一个data.frame像这样library(dplyr)df%group_by(CustId)

2023_Spark_实验三十:测试Flume到Kafka

实验目的:测试Flume采集数据发送到Kafka实验方法:通过centos7集群测试,将flume采集的数据放到kafka中实验步骤:一、 kafka可视化工具介绍KafkaTool是一个用于管理和使用ApacheKafka集群的GUI应用程序。KafkaTool提供了一个较为直观的UI可让用户快速查看Kafka集群中的对象以及存储在topic中的消息,提供了一些专门面向开发人员和管理员的功能,主要特性包括:-快速查看所有Kafka集群信息,包括其brokers,topicsandconsumers-查看分区中的消息内容并支持添加新消息-查看消费者偏移量,支持查看ApacheStormKafk

hive的引擎mapreduce、tez和spark对比

hive引擎简介Hive的执行引擎包括以下几种:HiveonMapReduceHive最早使用的执行引擎是基于HadoopMapReduce的。它将Hive查询转化为一系列的MapReduce任务进行并行执行。MapReduce引擎适用于处理大规模数据集,具有良好的容错性和扩展性,但由于磁盘读写和中间结果的持久化,可能在性能和响应时间方面受到影响。HiveonTezHive可以使用ApacheTez作为执行引擎来加速查询处理。Tez是一个用于高效执行大规模数据处理任务的执行框架,它源于MapReduce架构,核心思想是将Map和Reduce两个操作进一步拆分。它可以将查询的逻辑执行计划转化为一