草庐IT

spark-ec

全部标签

java - Spark Driver 内存和 Executor 内存

我是Spark的初学者,我正在运行我的应用程序以从文本文件中读取14KB数据,进行一些转换和操作(收集、收集AsMap)并将数据保存到数据库我在我的macbook上本地运行它,它有16G内存,8个逻辑核心。Java最大堆设置为12G。这是我用来运行应用程序的命令。bin/spark-submit--classcom.myapp.application--masterlocal[*]--executor-memory2G--driver-memory4G/jars/application.jar我收到以下警告2017-01-1316:57:31.579[Executortasklaunc

java - Apache Spark——使用 spark-submit 抛出 NoSuchMethodError

要将Spark应用程序提交到集群,他们的文档说明:Todothis,createanassemblyjar(or“uber”jar)containingyourcodeanditsdependencies.BothsbtandMavenhaveassemblyplugins.Whencreatingassemblyjars,listSparkandHadoopasprovideddependencies;theseneednotbebundledsincetheyareprovidedbytheclustermanageratruntime.--http://spark.apache.

Java & Spark : add unique incremental id to dataset

使用Spark和Java,我试图向现有的具有n列的数据集[行]添加一个整数标识列。我使用zipWithUniqueId()或zipWithIndex成功添加了一个id,甚至使用了monotonically_increasing_id()。但没有一个能令人满意。示例:我有一个包含195行的数据集。当我使用这三种方法中的一种时,我得到一些像1584156487或12036这样的ID。另外,这些ID不是连续的。我需要/想要的非常简单:一个Integerid列,其值从1到dataset.count()foreach行,其中id=1后跟id=2,等等。我如何在Java/Spark中做到这一点?

java - 从 JAVA API 获取 Amazon EC2 实例的公共(public) DNS

我已经成功地从JAVAAPI启动、停止和检查先前创建的EC2实例的状态。但是,我很难获得此实例的公共(public)DNS地址。由于我使用StartInstancesRequest启动实例并使用StartInstancesResponse获得响应,因此我无法检索实际的实例对象。下面给出了我的起始代码,它有效:BasicAWSCredentialsoAWSCredentials=newBasicAWSCredentials(sAccessKey,sSecretKey);AmazonEC2ec2=newAmazonEC2Client(oAWSCredentials);ec2.setEndp

java - SSHJ - key 对登录到 EC2 实例

我有一个看起来像SSHJ测试中的pem文件(虽然我没有看到它被引用):https://github.com/shikhar/sshj/blob/master/src/test/resources/hostkey.pem.简单地尝试通过pem文件向EC2实例(读取为字符串)进行身份验证,但遇到了麻烦。有人做过吗?SSHClientssh=newSSHClient();ssh.connect("ec2-XXXXXXX.compute-1.amazonaws.com");ssh.authPublickey("ubuntu",getPemAsString("/Users/me/ec2.pem"

java - 如何使用 Java 在 SPARK 中使用映射函数

我尝试在spark中读取一个csv文件,我想拆分以逗号分隔的行,以便我有一个带有二维数组的RDD。我是Spark的新手。我试着这样做:publicclassSimpleApp{publicstaticvoidmain(String[]args)throwsException{Stringmaster="local[2]";StringcsvInput="/home/userName/Downloads/countrylist.csv";StringcsvOutput="/home/userName/Downloads/countrylist";JavaSparkContextsc=ne

java - 如何在 Apache Spark 中为两个具有不同结构的 DataFrame 实现 NOT IN

我在我的Java应用程序中使用ApacheSpark。我有两个DataFrame小号:df1和df2.df1包含Row与email,firstName和lastName.df2包含Row与email.我想创建一个DataFrame:df3包含df1中的所有行,df2中不存在哪个电子邮件.有没有办法用ApacheSpark做到这一点?我试图创建JavaRDD来自df1和df2通过类型转换它们toJavaRDD()和过滤df1包含所有电子邮件,然后使用subtract,但我不知道如何映射新的JavaRDD至ds1得到DataFrame.基本上我需要df1中的所有行谁的邮箱不在df2.Dat

java - Spark 应用程序 - Java.lang.OutOfMemoryError : Java heap space

我用的是SparkStandalone单机,128G内存,32核。以下是我认为与我的问题相关的设置:spark.storage.memoryFraction0.35spark.default.parallelism50spark.sql.shuffle.partitions50我有一个Spark应用程序,其中有一个用于1000个设备的循环。对于每个循环(设备),它都会准备特征向量,然后调用MLLib的k-Means。在循环的第25到30次迭代(处理第25到第30个设备)时,它遇到了“Java.lang.OutOfMemoryError:Java堆空间”的错误。我尝试将memoryFra

java - jsontostructs 到 spark 结构化流中的行

我正在使用Spark2.2,我正在尝试从Kafka读取JSON消息,将它们转换为DataFrame并将它们作为Row:spark.readStream().format("kafka").option("kafka.bootstrap.servers","localhost:9092").option("subscribe","topic").load().select(col("value").cast(StringType).as("col")).writeStream().format("console").start();有了这个我可以实现:+-----------------

java - Spark : driver/worker configuration. 驱动程序是否在主节点上运行?

我在AWS上启动一个spark集群,有一个master和60个核心:下面是启动的命令,基本上每个核心2个executor,一共120个executor:spark-submit--deploy-modecluster--masteryarn-cluster--driver-memory180g--driver-cores26--executor-memory90g--executor-cores13--num-executors120然而,在作业跟踪器中,只有119个执行程序:我认为应该有1个驱动程序+120个工作执行程序。但是,我看到的是119个executor,其中包括1个driv