apache-spark - 火花简单的选择工作很慢
问题描述
我有一个简单的工作,从表中选择所有条目。这项工作需要约 40 秒。去完成。cassandra 数据库上的相同查询( select * from users )立即返回所有结果。
表中有约 180 个条目。
Spark master 有 ~ 64 GB 内存和 10 个内核。
我做错什么了吗?
public static void main(String[] args) {
SparkConf conf = new SparkConf(true)
.setMaster("spark://172.16.0.179:7077")
.setJars(new String[] { "spark-cassandra-connector_2.11-2.4.0.jar" })
.set("spark.driver.extraJavaOptions", "-Dhttp.proxyHost=172.16.0.179 -Dhttp.proxyPort=3128 -Dhttps.proxyHost=172.16.0.179 -Dhttps.proxyPort=3128 ")
.setAppName("test")
.set("spark.cassandra.connection.host", "172.16.0.179")
.set("spark.executor.memory", "64g")
.set("spark.driver.memory", "6g")
SparkSession spark = SparkSession.builder()
.config(conf)
.getOrCreate();
SQLContext sqlContext = new org.apache.spark.sql.SQLContext(spark);
HashMap<String, String> options = new HashMap<String, String>();
options.put("keyspace", "testkeyspace");
options.put("table", "users");
sqlContext.read()
.format("org.apache.spark.sql.cassandra")
.options(options)
.load()
.show(10);
spark.stop();
}
解决方案
推荐阅读
- django - 模板上的 Django get_FOO_display 不会显示
- vue.js - 如何在 VueJs NuxtJs 中检测互联网连接的开/关
- javascript - 有没有办法用js拦截http消息?
- python - 运行人脸识别 OpenCV 时出现 IOerror
- javascript - 在 Java 中使用 Crypto JS CBC 模式进行解密和等效加密
- rabbitmq - Celery 和 Rabbitmq 的任务队列和结果队列
- c++ - std::any_cast 是否调用析构函数?演员阵容如何?
- java - javax.mail.MessagingException:无法将套接字转换为 TLS;
- java - 我收到错误 java.io.FileNotFoundException:S3 存储桶中没有此类文件或目录,正在尝试从 AWS EMR 集群访问它
- tomcat9 - Tomcat9 自动启动错误:[mysql-cj-abandoned-connection-cleanup] 但未能停止它。这很可能造成内存泄漏