草庐IT

spark-hive

全部标签

Java Apache Spark : Long transformation chains result in quadratic time

我有一个使用ApacheSpark的Java程序。该程序最有趣的部分如下所示:longseed=System.nanoTime();JavaRDDannotated=documents.mapPartitionsWithIndex(newInitialAnnotater(seed),true);annotated.cache();for(intiter=0;itera.sum(b));//updateoverallcounts(*)seed=System.nanoTime();//copyoverallcountswhichCountChangerusestocomputeastoch

java - Spark : get number of cluster cores programmatically

我在yarn集群中运行我的spark应用程序。在我的代码中,我使用队列的可用核心数在我的数据集上创建分区:Datasetds=...ds.coalesce(config.getNumberOfCores());我的问题:如何以编程方式而非配置方式获取队列的可用核心数? 最佳答案 有一些方法可以从Spark中获取集群中的执行器数量和核心数量。这是我过去使用过的一些Scala实用程序代码。您应该能够轻松地将其改编为Java。有两个关键思想:worker的数量是executor的数量减一或sc.getExecutorStorageStat

java - 加入数据框 spark java

Firstofall,thankyouforthetimeinreadingmyquestion.Myquestionisthefollowing:InSparkwithJava,iloadintwodataframethedataoftwocsvfiles.Thesedataframeswillhavethefollowinginformation.DataframeAirportId|Name|City-----------------------1|Barajas|MadridDataframeairport_city_stateCity|state---------------

java - org.apache.xbean.asm5.ClassReader 中的 Spark Java IllegalArgumentException

我正在尝试将Spark2.3.1与Java结合使用。我遵循示例inthedocumentation但在调用.fit(trainingData)时不断收到描述不佳的异常。Exceptioninthread"main"java.lang.IllegalArgumentExceptionatorg.apache.xbean.asm5.ClassReader.(UnknownSource)atorg.apache.xbean.asm5.ClassReader.(UnknownSource)atorg.apache.xbean.asm5.ClassReader.(UnknownSource)at

java - 如果我在 Spark 中两次缓存相同的 RDD 会发生什么

我正在构建一个通用函数,它接收一个RDD并对其进行一些计算。由于我在输入RDD上运行了多个计算,所以我想缓存它。例如:publicJavaRDDfoo(JavaRDDr){r.cache();JavaRDDt1=r...//SomecalculationsJavaRDDt2=r...//Othercalculationsreturnt1.union(t2);}我的问题是,因为r给我它可能已经或可能没有被缓存。如果它被缓存并且我再次对其调用缓存,将创建一个新的缓存层,这意味着t1和t2计算出我将有两个r的实例在缓存中?或者willspark会意识到r被缓存并会忽略它?

java - 如何使用 java 从 Spark 中的列表或数组创建行

在Java中,我使用RowFactory.create()来创建行:Rowrow=RowFactory.create(record.getLong(1),record.getInt(2),record.getString(3));其中“record”是数据库中的一条记录,但我无法预先知道“record”的长度,所以我想使用一个列表或一个数组来创建“行”。在Scala中,我可以使用Row.fromSeq()从列表或数组创建行,但我如何在Java中实现这一点? 最佳答案 我们经常需要在现实世界的应用程序中创建数据集或数据帧。以下是如何在

java - 请求的路由还没有映射到 Spark 中

我想做点什么用spark+java+hibernate+postgres注册用户这是我的代码:post("/registrar",(request,response)->{EntityManagerFactoryemf=Persistence.createEntityManagerFactory("compradorcitoPU");EntityManagerem=emf.createEntityManager();em.getTransaction().begin();em.persist(u);em.getTransaction().commit();em.close();retu

java - Spark DataFrame 类的 union() 方法在哪里?

我正在为Spark使用Java连接器,并想联合两个DataFrame,但奇怪的是DataFrame类只有unionAll?这是故意的吗?有没有办法将两个DataFrame联合起来而不重复? 最佳答案 Isthisintentional如果认为可以安全地假设它是故意的。其他联合运算符,如RDD.union和DataSet.union也会保留重复项。如果你仔细想想是有道理的。虽然相当于UNIONALL的操作只是一个逻辑操作,不需要数据访问或网络流量,但发现不同的元素需要洗牌,因此可能非常昂贵。isthereawaytouniontwoD

java - Spark Java 和类路径

我正在尝试从http://www.sparkjava.com/开始,一个小型JavaWeb框架。说明告诉您将其添加为Maven依赖项(已完成),但是当我mvnpackage时,我得到一个classdefnotfoundforspark/Route。我假设这是因为Spark不在我的类路径中。我怎样才能添加它?它会放在pom.xml中吗?编辑:抱歉,这是我的pom.xml:4.0.0com.bernsteinbear.myappmyappjar1.0-SNAPSHOTmyapphttp://maven.apache.orgjunitjunit3.8.1testcom.sparkjavasp

java - 如何从 spark 中设置和获取静态变量?

我有这样一个类:publicclassTest{privatestaticStringname;publicstaticStringgetName(){returnname;}publicstaticvoidsetName(Stringname){Test.name=name;}publicstaticvoidprint(){System.out.println(name);}}在我的Spark驱动程序中,我像这样设置名称并调用print()命令:publicfinalclassTestDriver{publicstaticvoidmain(String[]args)throwsExc