Makes sense, use a get_slice() against the second row and pass in the column 
names. Should e fine.

If you run into performance issues look at slice_buffer_size and 
column_index_size in the config.

Aaron


On 9/02/2011, at 5:16 AM, Aklin_81 <asdk...@gmail.com> wrote:

> Amongst two rows, where I need to find the common columns. I will not
> have more than 200 columns(in 99% cases) for the 1st row. But the 2nd
> row where I need to find these columns may have even around a million
> valueless columns.
> 
> A point to note is:- These calculations are all done for **writing the
> data to the database that has been collected from presentation layer**
> & not while presentation of data.
> 
> I am using the results of such intersection to find the rows(that are
> pointed by names of common columns) that I should write to. The
> calculations are done after a Post is submitted by a user, in a
> discussions forum. Actually this is used to find out the mutual
> connections in a group & write to the rows pointed by common columns.
> 1st row represents the connection list of a user, which is not going
> to be more than 100-250 columns for my case & 2nd row represents the
> members of a group which may contain a million columns as I told.
> I find the mutual connections in a group(by finding the common columns
> in the above two rows) and then write to the rows of those users.
> 
> Cant I run a batch query to ask for all columns that I picked up from
> 1st row and want to ask in the 2nd row ??
> 
> Is there any better way ?
> 
> Asil
> 
> 
>> 
>> On Feb 7, 2011, at 12:30 AM, Aklin_81 wrote:
>> 
>>> Thanks Aaron & Shaun,
>>> 
>>> ******************************
>>> I think my question might have been unclear to some of you. So I would
>>> again explain my problem(& solution which I thought of) for the sake
>>> of clarity:-
>>> 
>>> Consider I have 2 rows.  1st row contains 60-70 columns and 2nd row
>>> contains like in hundreds of thousands columns. Both the columns sets
>>> are all valueless. I need to just findout the **common column names**
>>> in the two rows. **These two rows are known to me**. So what I plan to
>>> do is, I just pick up all **columns (names)** of 1st row (60 -70
>>> columns) and just ask for them in 2nd row, whatever column names I get
>>> back is my result.
>>> Would there be any problem with this solution ? This is how I am
>>> expecting to get common column names.
>>> 
>>> Please do not consider it as a JOIN case as it leads to unnecessary
>>> confusions, I just need common column names from valueless columns in
>>> the two rows.
>>> 
>>> ********************************
>>> 
>>> Aaron, actually the intersection data is very much context based. So
>>> say if there are 10 million rows in CF A & 1 million in CF B, then
>>> intersection data would be containing 10 million *1 million rows. This
>>> would involve very huge & unaffordable amounts of denormalization.
>>> And finding columns in client would require pulling unnecessary
>>> columns like pulling 100,000 columns from a row of which only 60-70
>>> are required .
>>> 
>>> Shaun, I hope my above clarification has clarified things a bit. Yes,
>>> the rows, of which I need to find common columns are known to me.
>>> 
>>> 
>>> Thank you all,
>>> Asil
>>> 
>>> 
>>> On Mon, Feb 7, 2011 at 3:53 AM, Shaun Cutts <sh...@cuttshome.net> wrote:
>>>> In theory, you should be able to do joins by creating an extra column in 
>>>> one column family, holding the "foreign key" of the matching row in the 
>>>> other family.
>>>> 
>>>> This assumes that the info you are joining on is available in both CFs (is 
>>>> not some sort of functional transformation).
>>>> 
>>>> I have just found that the implementation for secondary indexes is not yet 
>>>> very close to optimal for more complex "joins" involving multiple indexes, 
>>>> I'm not sure if that affects you as you didn't say what you are joining on.
>>>> 
>>>> -- Shaun
>>>> 
>>>> 
>>>> On Feb 6, 2011, at 4:22 PM, Aaron Morton wrote:
>>>> 
>>>>> Is it possible for you to dernormalise and write all the intersection 
>>>>> values? Will depend on how many I guess.
>>>>> 
>>>>> The other alternative is to pull back more data that you need and the 
>>>>> intersection in code in the client.
>>>>> 
>>>>> 
>>>>> Hope that helps.
>>>>> Aaron
>>>>> On 7/02/2011, at 7:11 AM, Aklin_81 <asdk...@gmail.com> wrote:
>>>>> 
>>>>>> Hi,
>>>>>> 
>>>>>> @buddhasystem : yes that's well known solution. But obviously when
>>>>>> mysql couldnt satisfy my needs, I am here. My question is in context
>>>>>> of Cassandra, if it possible to achieve intersection result set of
>>>>>> columns in two rows, by the way I spoke about.
>>>>>> 
>>>>>> @Edward: yes that I know but how does that fit here for obtaining the
>>>>>> common columns among two rows.
>>>>>> 
>>>>>> Thanks for your comments..
>>>>>> 
>>>>>> -Asil
>>>>>> 
>>>>>> 
>>>>>> On Sun, Feb 6, 2011 at 9:55 PM, Edward Capriolo <edlinuxg...@gmail.com> 
>>>>>> wrote:
>>>>>>> On Sun, Feb 6, 2011 at 10:15 AM, buddhasystem <potek...@bnl.gov> wrote:
>>>>>>>> 
>>>>>>>> Hello,
>>>>>>>> 
>>>>>>>> If the amount of data is _that_ small, you'll have a much easier life 
>>>>>>>> with
>>>>>>>> MySQL, which supports the "join" procedure -- because that's exactly 
>>>>>>>> what
>>>>>>>> you want to achieve.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> asil klin wrote:
>>>>>>>>> 
>>>>>>>>> Hi all,
>>>>>>>>> 
>>>>>>>>> I want to procure the intersection of columns set of two rows (from 2
>>>>>>>>> different column families).
>>>>>>>>> 
>>>>>>>>> To achieve the intersection results, Can I, first retrieve all
>>>>>>>>> columns(around 300) from first row and just query by those column
>>>>>>>>> names in the second row(which contains maximum 100 000 columns) ?
>>>>>>>>> 
>>>>>>>>> I am using the results during the write time & not before presentation
>>>>>>>>> to the user, so latency wont be much concern while writing.
>>>>>>>>> 
>>>>>>>>> Is it the proper way to procure intersection results of two rows ?
>>>>>>>>> 
>>>>>>>>> Would love to hear your comments..
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> ---------
>>>>>>>>> 
>>>>>>>>> Regards,
>>>>>>>>> Asil
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> --
>>>>>>>> View this message in context: 
>>>>>>>> http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Finding-the-intersection-results-of-column-sets-of-two-rows-tp5997248p5997743.html
>>>>>>>> Sent from the cassandra-u...@incubator.apache.org mailing list archive 
>>>>>>>> at Nabble.com.
>>>>>>>> 
>>>>>>> 
>>>>>>> You can use multi-get when fetching lists of already know keys
>>>>>>> optimize your round rip time.
>>>>>>> 
>>>> 
>>>> 
>> 
>> 

Reply via email to