草庐IT

Spark-Streaming

全部标签

hadoop - 在单节点上运行 Spark on YARN

我正在学习一些数据科学,我正在尝试发现和理解与之相关的各种工具。到目前为止,我已经在MacOS上成功安装了Hadoop2.8.0,现在我想让Spark2.1.1也能正常工作。我知道Spark不一定需要Hadoop环境才能工作,但我也知道让它在YARN上运行对于与其他应用程序共享数据很有用。在网上阅读了不同的指南和建议后,这就是我所做的:在Hadoop配置文件中,我在yarn-site.xml中添加:yarn.nodemanager.aux-servicesmapreduce_shuffleyarn.nodemanager.aux-services.mapreduce.shuffle.c

scala - 为什么我的 Spark 应用程序无法使用 "object SparkSession is not a member of package"进行编译,但 spark-core 是依赖项?

我是spark开发的新手,正在尝试在redhatlinux环境中使用sbt构建我的第一个spark2(scala)应用程序。以下是环境详细信息。CDHVersion:5.11.0ApacheSpark2:2.1.0.cloudera1ScalaVersion:2.11.11JavaVersion:1.7.0_101申请代码:importorg.apache.spark.sqlimportorg.apache.spark.sql.SparkSessionimportorg.apache.spark.sql.types._importorg.apache.spark.sqlobjectMy

hadoop - 使用大型数据集在 Spark 上训练 BloomFilter

我正在尝试为数据帧中的大量字符串创建布隆过滤器-约1.2亿。每个字符串平均有20-25个字符,总数据大小超过我们默认的spark.driver.maxResultSize1GB。我不想更改maxResultSize,因为将来输入数据的大小增加时我将不得不再次更改它。在Spark中,我是否可以通过调用BloomFilter.putString()以小块流式传输数据帧中的数据并训练BloomFilter?我也尝试过使用Dataset.toLocalIterator()但由于源数据集的性质,我不得不将它合并为100个大分区,使得这100个分区中的每一个都太大而无法容纳在驱动程序内存中。作为最

hadoop - 确定 Apache Spark 作业中的当前 Kerberos 用户

我在支持Kerberos的集群(Cloudera)上运行Spark作业,并希望能够为作业的任何给定运行记录用户的Kerberos身份。(注意这里不是启动job的本地linux用户身份,因为我们使用keytab文件,jaas.conf文件,调用kinit启动脚本。我们可以在启动脚本中记录一个身份,因为我们知道与key表一起传递给kinit的主体,但是能够在实际的Spark作业本身中登录会很好,这样即使一个作业是手动启动的,我们也能可靠地知道它在什么身份下运行)。一些答案​​表明如下:importjava.security.{AccessController,Principal}impor

scala - ClassNotFoundException : com. 数据 block .spark.csv.DefaultSource

我正在尝试使用sparkscala从Hive导出数据。但我收到以下错误。Causedby:java.lang.ClassNotFoundException:com.databricks.spark.csv.DefaultSource我的scala脚本如下所示。importorg.apache.spark.sql.hive.HiveContextvalsqlContext=newHiveContext(sc)valdf=sqlContext.sql("SELECT*FROMsparksdata")df.write.format("com.databricks.spark.csv").sa

mongodb - Spark with Mongo DB : java. lang.IncompatibleClassChangeError:实现类

我正在尝试使用Scala将示例MongoDB集合加载到Spark,然后将RDD保存到文本文件。以下是我的代码:valsc=newSparkContext(conf)valmongoConfig=newConfiguration()mongoConfig.set("mongo.input.uri","mongodb://localhost:27017/myDB.myCollectionData")valsparkConf=newSparkConf()valdocuments=sc.newAPIHadoopRDD(mongoConfig,//ConfigurationclassOf[Mon

join - Map-side 加入 Hadoop Streaming

我有一个文件,其中每一行都是一条记录。我希望某个字段中具有相同值的所有记录(如果字段A则调用)转到同一个映射器。我听说这被称为Map-SideJoin,而且我还听说如果文件中的记录按我所说的字段A排序很容易。如果更简单的话,数据可以分布在多个文件中,但每个文件都按字段A排序。这样对吗?我如何在流媒体中做到这一点?我正在使用Python。假设它只是我用来启动Hadoop的命令的一部分? 最佳答案 只希望将某些记录发送给某些映射器的真正理由是什么?如果您想要的最终结果是3个输出文件(一个全是A,另一个全是B,最后一个全是C),您可以使用

hadoop - 如果我使用 -mapper cat 而不是 -mapper org.apache.hadoop.mapred.lib.IdentityMapper,Hadoop Streaming 的性能会降低吗?

我在尝试使用org.apache.hadoop.mapred.lib.IdentityMapper作为HadoopStreaming1.0.3中-mapper的参数时遇到了问题。“猫”虽然有效;使用cat会影响性能——尤其是在ElasticMapReduce上吗? 最佳答案 我遇到了类似的问题,其中身份映射器不起作用,我必须使用Cat。我们没有看到性能上的巨大变化,据我所知,identitymapper是一个jar,而cat是unix命令。 关于hadoop-如果我使用-mapperca

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

文章目录每日一句正能量前言2.5启动Spark-Shell2.5.1运行Spark-Shell命令2.5.2运行Spark-Shell读取HDFS文件后记每日一句正能量成长是一条必走的路路上我们伤痛在所难免。前言在大数据处理和分析领域,Spark被广泛应用于解决海量数据处理和实时计算的挑战。作为一个快速、可扩展且易于使用的分布式计算框架,Spark为开发人员提供了丰富的API和工具来处理和分析大规模数据集。其中,Spark-Shell是Spark提供的一个交互式工具,它基于Scala语言,使得用户能够更加灵活和便捷地与Spark进行交互。通过Spark-Shell,我们可以直接在命令行终端中编

java - 使用 Spark [`cartesian()` 问题创建邻居矩阵]

我是Spark初学者,我面临以下问题:我有一个项目集合(假设它们是笛卡尔坐标或二维点),我想获取每个项目的附近元素。决定一个项目是否靠近另一个取决于一个函数(假设我们想要所有欧几里德距离小于给定值的点)。当然,获得一个点的邻居是微不足道的,我已经做到了。只需过滤项目即可。我不能做的是为集合中的所有点获取它们,我不知道如何有效地做到这一点。我在这里写了一个我想从一个小数据集中得到的结果的例子,以更清楚地说明我的需求:sourceData=[(0,1),(1,1),(0,0),(50,10),(51,11)]result=[(0,1)=>[(1,1),(0,0)],(1,1)=>[(0,1