I have not looked at your Jason object but the rest sound good to me.

You might want to implement a test class Wichita creates a Jason, put it in
the table, retrieve it and compare it with the original one...

JM
Le 27 déc. 2012 01:07, <varaprasad.bh...@polarisft.com> a écrit :

> Hi,
>
> For the below, may I insert into 'Customer' hbase table in the following
> way:
>
> put 'Customer', 'rowkey', 'cf:json',
> '{"Customer": {"Customer Detail":[{"CustomerNumber": "10000000001","DOB":
> "01/01/01","Fname": "Fname1","Mname":"Mname1","Lname": "Lname1","address":
> {"AddressType": "Home","AddressLine1" :"1.1.Address Line1",
> "AddressLine2" :"1.1.Address Line2","AddressLine3" :"1.1.Address
> Line3","AddressLine4" :"1.1.Address Line4","State" :"1.1.State","City"
> :"1.1.City","Country" :"1.1.Country"}},{ "CustomerNumber":
> "10000000002","DOB": "01/02/01","Fname": "Fname2","Mname":
> "Mname2","Lname": "Lname2","address": [{"AddressType":
> "Home","AddressLine1" :"2.1.Address Line1","AddressLine2" :"2.1.Address
> Line2","AddressLine3" :"2.1.Address Line3","AddressLine4" :"2.1.Address
> Line4","State" :"2.1.State","City" :"2.1.City","Country"
> :"2.1.Country"},{"AddressType": "Office","AddressLine1" :"2.2.Address
> Line1","AddressLine2" :"2.2.Address Line2","AddressLine3" :"2.2.Address
> Line3",
> "AddressLine4" :"2.2.Address Line4","State" :"2.2.State","City"
> :"2.2.City","Country" :"2.2.Country"}]},{"CustomerNumber":
> "10000000003","DOB": "01/03/01","Fname": "Fname3","Mname":
> "Mname3","Lname": "Lname3","address": [{"AddressType":
> "Home","AddressLine1" :"3.1.Address Line1","AddressLine2" :"3.1.Address
> Line2","AddressLine3" :"3.1.Address Line3","AddressLine4" :"3.1.Address
> Line4","State" :"3.1.State","City" :"3.1.City","Country"
> :"3.1.Country"},{"AddressType": "Office","AddressLine1" :"3.2.Address
> Line1","AddressLine2" :"3.2.Address Line2","AddressLine3" :"3.2.Address
> Line3","AddressLine4" :"3.2.Address Line4","State" :"3.2.State","City"
> :"3.2.City","Country" :"3.2.Country"},{"AddressType":
> "Others","AddressLine1" :"3.3.Address Line1","AddressLine2" :"3.3.Address
> Line2","AddressLine3" :"3.3.Address Line3","AddressLine4" :"3.3.Address
> Line4","State" :"3.3.State","City" :"3.3.City","Country"
> :"3.3.Country"}]},{"CustomerNumber": "10000000004","DOB":
> "01/04/01","Fname": "Fname4","Mname": "Mname4","Lname": "Lname4","address":
> [{"AddressType": "Home","AddressLine1" :"4.1.Address Line1","AddressLine2"
> :"4.1.Address Line2","AddressLine3" :"4.1.Address Line3","AddressLine4"
> :"4.1.Address Line4","State" :"4.1.State","City" :"4.1.City","Country"
> :"4.1.Country"},{"AddressType": "Office","AddressLine1" :"4.2.Address
> Line1","AddressLine2" :"4.2.Address Line2","AddressLine3" :"4.2.Address
> Line3","AddressLine4" :"4.2.Address Line4","State" :"4.2.State","City"
> :"4.2.City","Country" :"4.2.Country"},{"AddressType":
> "Office2","AddressLine1" :"4.3.Address Line1","AddressLine2" :"4.3.Address
> Line2","AddressLine3" :"4.3.Address Line3","AddressLine4" :"4.3.Address
> Line4","State" :"4.3.State","City" :"4.3.City","Country"
> :"4.3.Country"},{"AddressType": "Others","AddressLine1" :"4.4.Address
> Line1","AddressLine2" :"4.4.Address Line2","AddressLine3" :"4.4.Address
> Line3","AddressLine4" :"4.4.Address Line4","State" :"4.4.State","City"
> :"4.4.City","Country" :"4.4.Country"}]}]}}'
>
> The scan of Customer table gives:
>
> hbase(main):009:0> scan 'Customer'
> ROW                              COLUMN+CELL
>  rowkey                          column=cf:json, timestamp=1356583865944,
> value={"Customer": {"Customer Detail": [{"CustomerNumber":
> "10000000001","DOB": "01/01/01","Fname": "Fname1","Mname":"Mname1","Lname":
> "Lname1"
>                                  ,"address": {"AddressType":
> "Home","AddressLine1" :"1.1.Address Line1", \x0A"AddressLine2" :
>                                  "1.1.Address Line2","AddressLine3"
> :"1.1.Address Line3","AddressLine4" :"1.1.Address Line4",
>                                  "State" :"1.1.State","City"
> :"1.1.City","Country" :"1.1.Country"}},{ "CustomerNumber": "1000
>                                 0000002","DOB": "01/02/01","Fname":
> "Fname2","Mname": "Mname2","Lname": "Lname2","address":[{"AddressType":
> "Home","AddressLine1" :"2.1.Address Line1","AddressLine2" :"2.1.Address Lin
>                                  e2","AddressLine3" :"2.1.Address
> Line3","AddressLine4" :"2.1.Address Line4","State" :"2.1.St
>                                  ate","City" :"2.1.City","Country"
> :"2.1.Country"},{"AddressType": "Office","AddressLine1" :"
>                                  2.2.Address Line1","AddressLine2"
> :"2.2.Address Line2","AddressLine3" :"2.2.Address Line3",\
>                                  x0A"AddressLine4" :"2.2.Address
> Line4","State" :"2.2.State","City" :"2.2.City","Country" :"2
>                                  .2.Country"}]},{"CustomerNumber":
> "10000000003","DOB": "01/03/01","Fname": "Fname3","Mname":
>                                   "Mname3","Lname": "Lname3","address":
> [{"AddressType": "Home","AddressLine1" :"3.1.Address
>                                  Line1","AddressLine2" :"3.1.Address
> Line2","AddressLine3" :"3.1.Address Line3","AddressLine4
>                                  " :"3.1.Address Line4","State"
> :"3.1.State","City" :"3.1.City","Country" :"3.1.Country"},{"A
>                                  ddressType": "Office","AddressLine1"
> :"3.2.Address Line1","AddressLine2" :"3.2.Address Line2
>                                  ","AddressLine3" :"3.2.Address
> Line3","AddressLine4" :"3.2.Address Line4","State" :"3.2.Stat
>                                  e","City" :"3.2.City","Country"
> :"3.2.Country"},{"AddressType": "Others","AddressLine1" :"3.
>                                  3.Address Line1","AddressLine2"
> :"3.3.Address Line2","AddressLine3" :"3.3.Address Line3","Ad
>                                  dressLine4" :"3.3.Address Line4","State"
> :"3.3.State","City" :"3.3.City","Country" :"3.3.Cou
>                                  ntry"}]},{"CustomerNumber":
> "10000000004","DOB": "01/04/01","Fname": "Fname4","Mname": "Mnam
>                                  e4","Lname": "Lname4","address":
> [{"AddressType": "Home","AddressLine1" :"4.1.Address Line1"
>                                  ,"AddressLine2" :"4.1.Address
> Line2","AddressLine3" :"4.1.Address Line3","AddressLine4" :"4.
>                                  1.Address Line4","State"
> :"4.1.State","City" :"4.1.City","Country" :"4.1.Country"},{"Address
>                                  Type": "Office","AddressLine1"
> :"4.2.Address Line1","AddressLine2" :"4.2.Address Line2","Add
>                                  ressLine3" :"4.2.Address
> Line3","AddressLine4" :"4.2.Address Line4","State" :"4.2.State","Ci
>                                  ty" :"4.2.City","Country"
> :"4.2.Country"},{"AddressType": "Office2","AddressLine1" :"4.3.Add
>                                  ress Line1","AddressLine2" :"4.3.Address
> Line2","AddressLine3" :"4.3.Address Line3","Address
>                                  Line4" :"4.3.Address Line4","State"
> :"4.3.State","City" :"4.3.City","Country" :"4.3.Country"
>                                  },{"AddressType": "Others","AddressLine1"
> :"4.4.Address Line1","AddressLine2" :"4.4.Address
>                                  Line2","AddressLine3" :"4.4.Address
> Line3","AddressLine4" :"4.4.Address Line4","State" :"4.4
>                                  .State","City" :"4.4.City","Country"
> :"4.4.Country"}]}]}}
> 1 row(s) in 0.0160 seconds
>
>
> Is this the right way to insert the json script into a hbase table? Please
> suggest
>
> Regards,
> Varaprasad
> ---------- Forwarded message ----------
> From: Mohammad Tariq <donta...@gmail.com>
> Date: Wed, Dec 26, 2012 at 9:09 PM
> Subject: Re: Regarding Rowkey and Column Family
> To: "user@hbase.apache.org" <user@hbase.apache.org>
>
>
> I would rather serialize the JSON object into a byte array and then store
> it into an HBase cell. Later whenever I need to pull out some value, I can
> deserialize it and get the result.
>
> If you know the column name in advance, you can use the QualifierFilter to
> get the rows.
>
>
> Best Regards,
> Tariq
> +91-9741563634
> https://mtariq.jux.com/
>
>
>
> On Wed, Dec 26, 2012 at 8:35 PM, Ramasubramanian Narayanan <
>
> ramasubramanian.naraya...@gmail.com> wrote:
>
> > Hi,
> >
> > Thanks a lot... Can you please help me a sample code how to insert & read
> > Json object in HBase...
> >
> > Also how  to select the particular row from column (inserted thru Json
> > sobject).
> >
> > Have given the script based on  google'ng we did... Please help in using
> > this script how to use in HBase shell script also in Java..
> >
> >
> > -----------------------------
> > { "Customer": {
> > "Customer Detail": [
> > {"CustomerNumber": "10000000001",
> >         "DOB": "01/01/01",
> >         "Fname": "Fname1",
> >         "Mname": "Mname1",
> >         "Lname": "Lname1",
> > "address": {
> >         "AddressType": "Home",
> >       "AddressLine1" :"1.1.Address Line1",
> >     "AddressLine2" :"1.1.Address Line2",
> >       "AddressLine3" :"1.1.Address Line3",
> >       "AddressLine4" :"1.1.Address Line4",
> >      "State" :"1.1.State",
> >     "City" :"1.1.City",
> >       "Country" :"1.1.Country"
> >       }
> > },
> >     { "CustomerNumber": "10000000002",
> >         "DOB": "01/02/01",
> >         "Fname": "Fname2",
> >         "Mname": "Mname2",
> >         "Lname": "Lname2",
> > "address": [{
> >         "AddressType": "Home",
> >       "AddressLine1" :"2.1.Address Line1",
> >     "AddressLine2" :"2.1.Address Line2",
> >       "AddressLine3" :"2.1.Address Line3",
> >       "AddressLine4" :"2.1.Address Line4",
> >      "State" :"2.1.State",
> >     "City" :"2.1.City",
> >       "Country" :"2.1.Country"
> >       },
> >   {
> >         "AddressType": "Office",
> >       "AddressLine1" :"2.2.Address Line1",
> >     "AddressLine2" :"2.2.Address Line2",
> >       "AddressLine3" :"2.2.Address Line3",
> >       "AddressLine4" :"2.2.Address Line4",
> >      "State" :"2.2.State",
> >     "City" :"2.2.City",
> >       "Country" :"2.2.Country"
> >       }
> > ]
> >
> >       },
> >       { "CustomerNumber": "10000000003",
> >         "DOB": "01/03/01",
> >         "Fname": "Fname3",
> >         "Mname": "Mname3",
> >         "Lname": "Lname3",
> > "address": [{
> >         "AddressType": "Home",
> >       "AddressLine1" :"3.1.Address Line1",
> >     "AddressLine2" :"3.1.Address Line2",
> >       "AddressLine3" :"3.1.Address Line3",
> >       "AddressLine4" :"3.1.Address Line4",
> >      "State" :"3.1.State",
> >     "City" :"3.1.City",
> >       "Country" :"3.1.Country"
> >       },
> >   {
> >         "AddressType": "Office",
> >       "AddressLine1" :"3.2.Address Line1",
> >     "AddressLine2" :"3.2.Address Line2",
> >       "AddressLine3" :"3.2.Address Line3",
> >       "AddressLine4" :"3.2.Address Line4",
> >      "State" :"3.2.State",
> >     "City" :"3.2.City",
> >       "Country" :"3.2.Country"
> >       },
> >   {
> >         "AddressType": "Others",
> >       "AddressLine1" :"3.3.Address Line1",
> >     "AddressLine2" :"3.3.Address Line2",
> >       "AddressLine3" :"3.3.Address Line3",
> >       "AddressLine4" :"3.3.Address Line4",
> >      "State" :"3.3.State",
> >     "City" :"3.3.City",
> >       "Country" :"3.3.Country"
> >       }
> > ]
> >       },
> >       { "CustomerNumber": "10000000004",
> >         "DOB": "01/04/01",
> >         "Fname": "Fname4",
> >         "Mname": "Mname4",
> >         "Lname": "Lname4",
> > "address": [{
> >         "AddressType": "Home",
> >       "AddressLine1" :"4.1.Address Line1",
> >     "AddressLine2" :"4.1.Address Line2",
> >       "AddressLine3" :"4.1.Address Line3",
> >       "AddressLine4" :"4.1.Address Line4",
> >      "State" :"4.1.State",
> >     "City" :"4.1.City",
> >       "Country" :"4.1.Country"
> >       },
> >   {
> >         "AddressType": "Office",
> >       "AddressLine1" :"4.2.Address Line1",
> >     "AddressLine2" :"4.2.Address Line2",
> >       "AddressLine3" :"4.2.Address Line3",
> >       "AddressLine4" :"4.2.Address Line4",
> >      "State" :"4.2.State",
> >     "City" :"4.2.City",
> >       "Country" :"4.2.Country"
> >       },
> >             {
> >         "AddressType": "Office2",
> >       "AddressLine1" :"4.3.Address Line1",
> >     "AddressLine2" :"4.3.Address Line2",
> >       "AddressLine3" :"4.3.Address Line3",
> >       "AddressLine4" :"4.3.Address Line4",
> >      "State" :"4.3.State",
> >     "City" :"4.3.City",
> >       "Country" :"4.3.Country"
> >       },
> >             {
> >         "AddressType": "Others",
> >       "AddressLine1" :"4.4.Address Line1",
> >     "AddressLine2" :"4.4.Address Line2",
> >       "AddressLine3" :"4.4.Address Line3",
> >       "AddressLine4" :"4.4.Address Line4",
> >      "State" :"4.4.State",
> >     "City" :"4.4.City",
> >       "Country" :"4.4.Country"
> >       }
> > ]
> > }]
> > }}
> >
> > --------------------------------------------------------------
> >
> > regards,
> > Rams
> >
> > On Mon, Dec 24, 2012 at 9:15 PM, Jean-Marc Spaggiari <
> > jean-m...@spaggiari.org> wrote:
> >
> > > Hi Rams,
> > >
> > > Even if a customer can have multiple addresses, you can still simply
> > > put them all on the same field...
> > >
> > > A ArrayList of address, converted in a JSon sting, in a single HBase
> > > cell will still do it.
> > >
> > > You can have them on separated cells if you think you will access them
> > > separatly. You can also have different columns identifiers for each
> > > type of address you can have.
> > >
> > > Like you have CF1 for all you fields, C=Infos for the customer info,
> > > C=PHY for Physical address, C=HOM for home address, C=OFF for office
> > > address, and so on?
> > >
> > > The idea is to reduce the CFs if not required, and really think about
> > > the way you access your data.
> > >
> > > If you access all the address at the same time, then simply put all of
> > > them on the same cell, on a Array of Address converted in String with
> > > JSon. So simple ;)
> > >
> > > JM
> > >
> > > 2012/12/24, Ramasubramanian <ramasubramanian.naraya...@gmail.com>:
> > > > Hi,
> > > >
> > > > Let me explain the scenario.
> > > >
> > > > For address of the customer we have designed 3 tables (in relational
> > way)
> > > >
> > > > 1. Address link table
> > > >     Will have key columns like
> > > >       Address type - physical or email /fax/phone/URL/ etc.,
> > > >       Address category- (home/work)
> > > >       Primary address indicator
> > > >       Bad address indicator
> > > >       Etc.,
> > > > 2. Physical address
> > > >     This will contain the actual physical address. A customer can
> have
> > n
> > > > Number of addresses.
> > > >    Fields :
> > > >        - address type (physical)
> > > >        - address category (home/work/etc.,)
> > > >         - address1
> > > >         - address 2
> > > >         .........
> > > > 3. Electronic address
> > > >     It will contain email/fax/phone/URL etc, and it's value
> > > >      Fields :
> > > >        - address type (email /fax/phone/URL/ etc.,)
> > > >        - address category (home/work/etc.,)
> > > >        - value ( actual value based on address type. Like actual
> phone
> > > > number)
> > > >
> > > >
> > > > Now in the above scenario, while designing in hbase, I am going to
> > > eliminate
> > > > link table and have those fields in both physical and electronic
> > address.
> > > >
> > > > So both the tables has common fields like address type and address
> > > category.
> > > > Hence thought of having these two fields common for both the set of
> > > fields.
> > > > (In a single table)
> > > >
> > > > Regards,
> > > > Rams
> > > >
> > > > On 24-Dec-2012, at 6:45 PM, Mohammad Tariq <donta...@gmail.com>
> wrote:
> > > >
> > > >> it is. but why do you want  to do that? you will run into issues
> once
> > > >> your
> > > >> data starts growing. each cell, along with the actual value stores
> few
> > > >> additional things, *row, column *and the *version. *as a result you
> > will
> > > >> loose space if you do that.
> > > >>
> > > >> Best Regards,
> > > >> Tariq
> > > >> +91-9741563634
> > > >> https://mtariq.jux.com/
> > > >>
> > > >>
> > > >> On Mon, Dec 24, 2012 at 5:00 PM, Ramasubramanian Narayanan <
> > > >> ramasubramanian.naraya...@gmail.com> wrote:
> > > >>
> > > >>> Hi,
> > > >>>
> > > >>> Is it ok to have same column into different column familes?
> > > >>>
> > > >>> regards,
> > > >>> Rams
> > > >>>
> > > >>> On Mon, Dec 24, 2012 at 4:06 PM, Mohammad Tariq <
> donta...@gmail.com>
> > > >>> wrote:
> > > >>>
> > > >>>> you are creating 2 different rows here. cf means how column are
> > > clubbed
> > > >>>> together as a single entity which is represented by that cf. but
> > here
> > > >>>> you
> > > >>>> are creating 2 different rows having one cf each, CF1 and CF2
> > > >>> respectively.
> > > >>>> if you want to have 1 row with 2 cf, you have to do use same
> rowkey
> > > for
> > > >>>> both the cf.
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>> Best Regards,
> > > >>>> Tariq
> > > >>>> +91-9741563634
> > > >>>> https://mtariq.jux.com/
> > > >>>>
> > > >>>>
> > > >>>> On Mon, Dec 24, 2012 at 3:41 PM, Ramasubramanian Narayanan <
> > > >>>> ramasubramanian.naraya...@gmail.com> wrote:
> > > >>>>
> > > >>>>> Hi,
> > > >>>>>
> > > >>>>> *Table Name : Customer*
> > > >>>>> *
> > > >>>>> *
> > > >>>>> *Field Name         Column Family*
> > > >>>>> Customer Number      CF1
> > > >>>>> DOB                  CF1
> > > >>>>> FName                CF1
> > > >>>>> MName                CF1
> > > >>>>> LName                CF1
> > > >>>>> Address Type         CF2
> > > >>>>> Address Line1        CF2
> > > >>>>> Address Line2        CF2
> > > >>>>> Address Line3        CF2
> > > >>>>> Address Line4        CF2
> > > >>>>> State                CF2
> > > >>>>> City                 CF2
> > > >>>>> Country              CF2
> > > >>>>>
> > > >>>>> Is it good to have rowkey as follows for the same table?
> > > >>>>>
> > > >>>>> Rowkey Design:
> > > >>>>> --------------
> > > >>>>> For CF1 : Customer Number + YYYYMMD (business date)
> > > >>>>> For CF2 : Customer Number + Address Type
> > > >>>>>
> > > >>>>> Note :
> > > >>>>> Address Type can be any of HOME/OFFICE/OTHERS
> > > >>>>>
> > > >>>>> regards,
> > > >>>>> Rams
> > > >>>
> > > >
> > >
> >
>
>
> This e-Mail may contain proprietary and confidential information and is
> sent for the intended recipient(s) only.  If by an addressing or
> transmission error this mail has been misdirected to you, you are requested
> to delete this mail immediately. You are also hereby notified that any use,
> any form of reproduction, dissemination, copying, disclosure, modification,
> distribution and/or publication of this e-mail message, contents or its
> attachment other than by its intended recipient/s is strictly prohibited.
>
> Visit us at http://www.polarisFT.com
>

Reply via email to