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. >>>>>> >>> >>> > >