2015-06-08 5 views
1

Может ли кто-нибудь объяснить мне следующие строки из Cassandra 2.1.15 Пример WordCount?Cassandra WordCount Hadoop

CqlConfigHelper.setInputCQLPageRowSize(job.getConfiguration(), "3"); 
CqlConfigHelper.setInputCql(job.getConfiguration(), "select * from " + COLUMN_FAMILY + " where token(id) > ? and token(id) <= ? allow filtering"); 

Как определить конкретные значения, которые будут использоваться для замены "?" в запросе?

И что такое размер строки страницы?

ответ

2

Как определить конкретные значения, которые будут использоваться для замены "?" в запрос?

У вас нет. Эти параметризованные значения устанавливаются разделом, созданным форматом ввода. Они устанавливаются автоматически, но могут быть отрегулированы (в некоторой степени), отрегулировав размер разделения.

И что такое размер строки страницы?

Размер строки строки определяет количество строк CQL, полученных в одном запросе картографом во время выполнения. Если раздел C * содержит 10000 строк CQL, а размер строки страницы - 1000, для получения всех данных потребуется 10 запросов.

+0

Спасибо за ваш ответ, сэр, это очень хорошо. Но как определить, какие строки я хочу в качестве ввода, по их ключу? Я попробовал что-то вроде «select * from basketball, где команда =« lakers »разрешает фильтрацию», но я получаю следующее исключение: недопустимое количество переменных привязки. Я хотел бы выбрать все строки, которые, например, называются «lakers», как их имя, как это сделать? Кроме того, что касается второй части, значит ли это, что я неявно определяю число Mappers? Если у меня будет 10 запросов, значит ли это, что будут созданы 10 задач карты? – Marko

+0

Формат ввода принимает весь диапазон токенов C * и делит его на основе размера разделенного входа. Это делает несколько разрывов. Каждый split выполняет запрос с двумя переменными, начинает токен и конечный токен. Вот почему он требует, чтобы вы ВСЕГДА имели 2 переменные в вашем запросе. Для вашего запроса «Лейкерс» вы просто добавили бы к концу что-то вроде токена (имя раздела)>? и токен (partitionkeynameid) <=?. – RussS

+0

Не могли бы вы пересмотреть мой вопрос? Следующий запрос не будет работать «select * from basketball.nba, где команда =« Лейкерс »и токен (команда)>? И токен (команда) <=?», Я думаю, что я что-то не понял? – Marko

Смежные вопросы