Я изо всех сил пытаюсь настроить искру и кассандру. У меня есть 10 миллионов данных в cassandra, и я выполняю такие операции, как чтение в spark/beeline, используя spark-cassandra-connector. Но это занимает 15-20 мин. У меня 4 узла кассандры и 3 узла спарки. Вот мои конфигурации cassandra и spark.
Кассандра:
listen_address: 192.168.xx.xx
rpc_address: 192.168.xx.xx
endpoint_snitch: GossipingPropertyFileSnitch
auto_bootstrap: true
start_rpc: true
read_request_timeout_in_ms: 5000
write_request_timeout_in_ms: 2000
batch_size_warn_threshold_in_kb: 100
batch_size_fail_threshold_in_kb: 1000
authenticator: PasswordAuthenticator
authorizer: CassandraAuthorizer
request_timeout_in_ms: 300000
range_request_timeout_in_ms: 360000
Искра:
spark.master spark://master:7077
spark.cassandra.connection.host
192.168.xx.xx,192.168.xx.xx,192.168.xx.xx,192.168.xx.xx
spark.cassandra.connection.port 9042
spark.cassandra.auth.username cassandra
spark.cassandra.auth.password cassandra
spark.driver.memory 5g
spark.executor.memory 6g
spark.cassandra.input.consistency.level QUORUM
spark.eventLog.enabled true
spark.serializer org.apache.spark.serializer.KryoSerializer
spark.cassandra.input.split.size_in_mb 128
spark.cassandra.input.fetch.size_in_rows 10000
spark.sql.qubole.split.computation true
spark.sql.inmemorycolumnarstorage.compressed true
SparkSession spark = new SparkSession.Builder().appName("test").getOrCreate();
Dataset<Row> selectDF = spark.read().format("org.apache.spark.sql.cassandra") .options(new HashMap<String, String>() { /** * */ private static final long serialVersionUID = 1L; { put("keyspace", "testkeyspace"); put("table", "rawdata_testing"); } }).load().where("kpi='OSA'");
selectDF.createOrReplaceTempView("temp");
spark.sql("select count(1) from temp").show();
это фрагмент кода. - person Vish   schedule 08.08.2017