草庐IT

SPARK_DIST_CLASSPATH

全部标签

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 --classpath 是覆盖 CLASSPATH 还是追加到它?

这个问题在这里已经有了答案:Javawill-classpathoptionaddorreplaceCLASSPATHenvironmentvariable(4个答案)关闭9年前。如果我有CLASSPATH=/blah;/foo然后运行java-cpbar.jarcom.yourcompany.SomeMain现在是类路径bar.jar或者是吗/blah;/foo;bar.jar基本上,命令行开关是否会覆盖或扩充现有的CLASSPATH?

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

java - Spark SQL 失败,因为 "Constant pool has grown past JVM limit of 0xFFFF"

我在EMR4.6.0+Spark1.6.1上运行这段代码:valsqlContext=SQLContext.getOrCreate(sc)valinputRDD=sqlContext.read.json(input)try{inputRDD.filter("`first_field`isnotnullOR`second_field`isnotnull").toJSON.coalesce(10).saveAsTextFile(output)logger.info("DONE!")}catch{casee:Throwable=>logger.error("ERROR"+e.getMessa

java - 尝试在 Spark DataFrame 上使用 map

我最近开始尝试使用Spark和Java。我最初使用RDD完成了著名的WordCount示例,一切都按预期进行。现在我正在尝试实现我自己的示例,但使用的是DataFrames而不是RDD。所以我正在从文件中读取数据集DataFramedf=sqlContext.read().format("com.databricks.spark.csv").option("inferSchema","true").option("delimiter",";").option("header","true").load(inputFilePath);然后我尝试选择一个特定的列并对每一行应用一个简单的转换

java - 合并两个在 Apache spark 中具有不同列名的数据集

我们需要合并两个具有不同列名的数据集,数据集之间没有公共(public)列。我们尝试了几种方法,两种方法都没有产生结果。请告诉我们如何使用ApachesparkJava合并两个数据集输入数据集1"405-048011-62815","CRCIndustries","630-0746","Dixonvalue","4444-444","3MINdustries","555-55","Dixoncouplingvalve"输入数据集2"222-2222-5555","Tata","7777-88886","WestSide","22222-22224","Reliance","33333-