Есть ли способ получить доступ к информации схемы Cassandra с помощью разъема spark-cassandra? - PullRequest
0 голосов
/ 26 апреля 2018

Более новый соединитель spark-cassandra устарел / удалил CassandraSQLContext, который позволял выполнять CQL. И теперь я не могу найти способ найти информацию каталога, такую ​​как: список пространств ключей, таблицы в пространстве ключей или метаданные столбца.

В частности, я хочу иметь возможность запускать что-то вроде select keyspace_name, table_name, column_name, type from system_schema.columns where keyspace_name = 'test' Может быть, я пропустил API для запуска CQL? (Я использую разъем 2.0)

1 Ответ

0 голосов
/ 26 апреля 2018

Соединитель Spark Cassandra имеет метод withSessionDo, который вы можете использовать, так же, как вы используете в драйвере Java, как это (принято из документации ):

import com.datastax.spark.connector.cql.CassandraConnector

CassandraConnector(conf).withSessionDo { session =>
  session.execute("select keyspace_name, table_name, column_name, 
      type from system_schema.columns where keyspace_name = 'test';")
}

Но вы можете использовать намного более простые операции RDD, например:

sc.cassandraTable("system_schema", "columns").select("keyspace_name","table_name", 
     ...other columns...)

P.S. Также обратите внимание, что доступ через класс Metadata, который можно получить через Session-> Cluster, является более портативным способом сделать это.

...