当前位置: 首页 > 面试题库 >

Apache Spark需要5到6分钟的时间,即可简单地计算出Cassandra的1条Billon行

栾越
2023-03-14
问题内容

我正在使用Spark
Cassandra连接器。从Cassandra表中获取数据需要5到6分钟。在Spark中,我在日志中看到了许多任务和Executor。原因可能是Spark将流程分为许多任务!

下面是我的代码示例

public static void main(String[] args) {

    SparkConf conf = new SparkConf(true).setMaster("local[4]")
            .setAppName("App_Name")
            .set("spark.cassandra.connection.host", "127.0.0.1");

    JavaSparkContext sc = new JavaSparkContext(conf);

    JavaRDD<Demo_Bean> empRDD = javaFunctions(sc).cassandraTable("dev",
            "demo");
    System.out.println("Row Count"+empRDD.count());
}

问题答案:

在Google上搜索后,我在最新的spark-cassandra-
connector中喜欢了这个问题。参数spark.cassandra.input.split.size_in_mb Default value是64
MB,在代码中被解释为64个字节。所以尝试 spark.cassandra.input.split.size_in_mb = 64 * 1024 * 1024 = 67108864

听到就是一个例子:

public static void main(String[] args) {

    SparkConf conf = new SparkConf(true).setMaster("local[4]")
            .setAppName("App_Name")
            .set("spark.cassandra.connection.host", "127.0.0.1")
            .set("spark.cassandra.input.split.size_in_mb","67108864");


    JavaSparkContext sc = new JavaSparkContext(conf);

    JavaRDD<Demo_Bean> empRDD = javaFunctions(sc).cassandraTable("dev",
            "demo");
    System.out.println("Row Count"+empRDD.count());
}


 类似资料:
  • 谁能解释一下为什么我的Cassandra集群中每隔4-5分钟就会出现读取超时。我几乎可以始终如一地看到这一点,并能够始终如一地再现这一点。 读取吞吐量保持在每秒 1 个请求,集群中没有发生写入或压缩。读取超时在 cassandra.yaml 文件中配置为 5 秒。我正在使用datastax java驱动程序2.1.14。 超时期间的跟踪不起作用。在cqlsh中第二次手动读取同一行密钥成功。看看这个

  • 问题内容: 我正在一个数据库很大的网站上工作。当时表中有1百万条记录。当我执行查询时,这将花费太多时间来执行。以下是一个示例查询: 每个查询都需要一分钟以上的时间,但是当我将表放到1万条记录中时,该查询就会快速执行。 正如我所读过的,在一个表中有一百万条记录没有问题,因为在数据库表中没有大记录的问题。 我已经通过堆栈溢出问题在表中使用了ID索引, 如何向MySQL表添加索引? ,但仍然有同样的问题

  • 我试图创建一个倒计时计时器,努力让它显示小时、分钟、秒。 努力使分钟和小时正确显示。 除此之外,我还需要计时器在午夜开始计时17小时。按照3600*17(17小时)的思路思考,然后去掉剩余的持续时间?

  • 我正在使用数据斯塔克斯卡桑德拉2.1驱动程序,并以~8000 IOPS的速率执行读/写操作。我使用池选项来配置我的会话,并使用单独的会话进行读取和写入,每个会话都连接到群集中的不同节点作为联系点。这在 5 分钟内工作正常,但在那之后我得到很多异常,例如: 失败原因:com.datastax.driver.core.exceptions.NoHostAvailableException:尝试查询的所

  • 因此,我一直在Android Studio中开发一个简单的应用程序,从过去几天开始,每当我点击“运行”,就需要5分钟以上的时间来构建。以前可没这么慢。我不知道为什么。它说“Gradle构建运行”,然后应用程序在5分钟后加载。这种情况发生在模拟器和我的android设备上。我的年级版本是2.10,我查了这个问题,我尝试了其他类似帖子建议的一切,包括: 向命令行选项设置添加--并行和--脱机 在分级设

  • 问题内容: 我正在编写一个Web应用程序,我需要将图像从servlet发送到客户端。图像是动态生成的,并且很大(+ -2MB)。可能是jpeg,png或gif。 现在,我正在使用ImageIO.write()将图像写入输出流,但是其速度很慢。客户最多需要6秒钟才能看到图像。我需要加快速度。 有什么建议? 顺便说一句 我知道正在寻找ImageIO主题的更快替代方案。但这并没有帮助我。由于使用PNG的