У меня есть ситуация, когда я хочу «перебрать» или «перебрать» по «широким строкам», а не логические строки Cassandra (строки CQL), используя SparkSQL.SparkSQL spanning логических строк Cassandra
В основном мои данные разделены на timestamp
(раздел ключа), и есть ключ кластеризации, который является идентификатором датчика.
Для каждого timestamp
Я хотел бы выполнить операции, тривиальный пример - сделать sensor1/sensor2
.
Как я могу эффективно это сделать с помощью SparkSQL, сохраняя локальность данных (и я думаю, что моя модель данных хорошо подходит для этих задач)?
Я читал this post on Datastax, в котором упоминается spanBy
и spanByKey
в разъеме Cassandra. Как это будет использоваться с SparkSQL?
Пример псевдокода (pySpark):
ds = sqlContext.sql("SELECT * FROM measurements WHERE timestamp > xxx")
# span the ds by clustering key
# filter the ds " sensor4 > yyy "
# for each wide-row do sensor4/sensor1
Спасибо за информацию. Доступно ли это в коннекторе pyspark (targetholding)? Как вы думаете, вы могли бы предложить альтернативный способ SparkSQL? –
Я не думаю, что он доступен с pyspark, так как pyspark использует dataframe внизу (документ говорит ** вы ограничены только операциями DataFrame **) – doanduyhai
Лучшим вариантом является создание JIRA и запрос расширения функции spanBy к pySpark или/и SparkSQL. – doanduyhai