使用idea將json文件格式導(dǎo)入到Hbsae

/*

{"id":[{"_id":"1473367236143\u00010\u0001connectByQRCode\u0001\u00010\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u00011609072239570000027\u0001\n1473367261933\u00010\u0001AppLaunch\u0001\u00010\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u00011609072239570000028\u0001\n1473367280349\u00010\u0001connectByQRCode\u0001\u00010\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u00011609072239570000029\u0001\n1473367331326\u00010\u0001AppLaunch\u0001\u00010\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u00011609072239570000030\u0001\n1473367353310\u00010\u0001connectByQRCode\u0001\u00010\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u00011609072239570000031\u0001\n1473367387087\u00010\u0001AppLaunch\u0001\u00010\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u00011609072239570000032\u0001\n1473367402167\u00010\u0001connectByQRCode\u0001\u00010\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u00011609072239570000033\u0001\n1473367451994\u00010\u0001AppLaunch\u0001\u00010\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u00011609072239570000034\u0001\n1473367474316\u00010\u0001connectByQRCode\u0001\u00010\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u00011609072239570000035\u0001\n1473367564181\u00010\u0001AppLaunch\u0001\u00010\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u00011609072239570000036\u0001\n1473367589527\u00010\u0001connectByQRCode\u0001\u00010\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u00011609072239570000037\u0001\n1473367610310\u00010\u0001AppLaunch\u0001\u00010\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u00011609072239570000038\u0001\n1473367624647\u00010\u0001connectByQRCode\u0001\u00010\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u00011609072239570000039\u0001\n1473368004298\u00010\u0001AppLaunch\u0001\u00010\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u00011609072239570000040\u0001\n1473368017851\u00010\u0001connectByQRCode\u0001\u00010\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u00011609072239570000041\u0001\n1473369599067\u00010\u0001AppLaunch\u0001\u00010\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u00011609072239570000042\u0001\n1473369622274\u00010\u0001connectByQRCode\u0001\u00010\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u00011609072239570000043\u0001\n","cid_sn":"750","device_id_type":"suerdadadada","商品鏈接":"https://detail.tmall.com/item.htm?id=45150572369","imei":"1066"}

*/

//json文件格式



import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.hbase.HBaseConfiguration;

import org.apache.hadoop.hbase.HColumnDescriptor;

import org.apache.hadoop.hbase.HTableDescriptor;

import org.apache.hadoop.hbase.MasterNotRunningException;

import org.apache.hadoop.hbase.ZooKeeperConnectionException;

import org.apache.hadoop.hbase.client.HBaseAdmin;

import org.apache.hadoop.hbase.client.HTable;

import org.apache.hadoop.hbase.client.Put;

import org.apache.hadoop.hbase.util.Bytes;

import com.google.gson.JsonArray;

import com.google.gson.JsonIOException;

import com.google.gson.JsonObject;

import com.google.gson.JsonParser;

import com.google.gson.JsonSyntaxException;

public class JSON {

private static Configuration conf = null;

? ? static {

? ? ? ? ? ? conf = HBaseConfiguration.create();

? ? ? ? ? ? conf.set("hbase.zookeeper.quorum", "master");// 使用eclipse時必須添加這個腊敲,否則無法定位master需要配置hosts

? ? ? ? ? ? conf.set("hbase.zookeeper.property.clientPort", "2181");

? ? }

? ? public static void main(String args[]) throws IOException{

? ? createTable("test","picture");

? ? ? ? JsonParser parse =new JsonParser(); ?//創(chuàng)建json解析器

? ? ? ? try {

? ? ? ? JsonParser parser=new JsonParser(); ?//創(chuàng)建JSON解析器

? ? ? ? ? ? JsonObject object=(JsonObject) parser.parse(new FileReader("E:\\qwe\\qwe.json")); ?//創(chuàng)建JsonObject對象

? ? ? ? ? ? JsonArray array=object.get("id").getAsJsonArray();?

? ? ? ? ? ? for(int i=0;i<array.size();i++){

? ? ? ? ? ? ? ? System.out.println("---------------");

? ? ? ? ? ? ? ? JsonObject subObject=array.get(i).getAsJsonObject();

? ? ? ? ? ? ? ? System.out.println("第"+(i+1)+"件商品");

? ? ? ? ? ?String a="null";

? ? ? ? ? ?String b="null";

? ? ? ? ? ?String c="null";

? ? ? ? ? ?String d="null";

? ? ? ? ? ? ? ? System.out.println("id="+subObject.get("_id").getAsString());

? ? ? ? ? ? ? ? if(subObject.get("width")!=null){System.out.println("width="+subObject.get("width").getAsInt());a=subObject.get("width").getAsString();}

? ? ? ? ? ? ? ? if(subObject.get("商品標(biāo)題")!=null){System.out.println("商品標(biāo)題="+subObject.get("商品標(biāo)題").getAsString());b=subObject.get("商品標(biāo)題").getAsString();}

? ? ? ? ? ? ? ? if(subObject.get("商品鏈接")!=null){System.out.println("商品鏈接="+subObject.get("商品鏈接").getAsString());c=subObject.get("商品鏈接").getAsString();}

? ? ? ? ? ? ? ? if(subObject.get("height")!=null){ System.out.println("height="+subObject.get("height").getAsInt());d=subObject.get("height").getAsString();}

? ? ? ? ? ? ? ? String[] cols = { "id","width","title","url","height"};//列?

? ? ? ? ? ? ? ? String[] colsValue = {subObject.get("_id").getAsString(),a,b,c,d};//值 ??

? ? ? ? ? ? ? ? String ?str = String.valueOf(i+1);

? ? ? ? ? ? ? ? addData("test",str, cols, colsValue);//表名筋遭,行健,列,值


? ? ? ? ? ? }



? ? ? ? } catch (JsonIOException e) {

? ? ? ? ? ? e.printStackTrace();

? ? ? ? } catch (JsonSyntaxException e) {

? ? ? ? ? ? e.printStackTrace();

? ? ? ? } catch (FileNotFoundException e) {

? ? ? ? ? ? e.printStackTrace();

? ? ? ? }


? ? }

? ? private static void addData(String tableName,String rowKey, String[] column1, String[] value1) throws IOException {

? ? ? ? Put put = new Put(Bytes.toBytes(rowKey));// 設(shè)置rowkey

? ? ? ? HTable table = new HTable(conf, Bytes.toBytes(tableName));// HTabel負責(zé)跟記錄相關(guān)的操作如增刪改查等//


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// 獲取表

? ? ? ? HColumnDescriptor[] columnFamilies = table.getTableDescriptor() // 獲取所有的列族

? ? ? ? ? ? ? ? ? ? ? ? .getColumnFamilies();

? ? ? ? for (int i = 0; i < columnFamilies.length; i++) {

? ? ? ? ? ? ? ? String familyName = columnFamilies[i].getNameAsString(); // 獲取列族名

? ? ? ? ? ? ? ? if (familyName.equals("picture")) { // article列族put數(shù)據(jù)

? ? ? ? ? ? ? ? ? ? ? ? for (int j = 0; j < column1.length; j++) {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? put.add(Bytes.toBytes(familyName),

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Bytes.toBytes(column1[j]), Bytes.toBytes(value1[j]));

? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? }

? ? ? ? }

? ? ? ? table.put(put);

? ? ? ? System.out.println("add data Success!");

}

? ? private static void createTable(String TableName,String family) throws MasterNotRunningException,

? ? ZooKeeperConnectionException, IOException {

HBaseAdmin admin = new HBaseAdmin(conf);// 新建一個數(shù)據(jù)庫管理員

if (admin.tableExists(TableName)) {

? ? System.out.println("table is exist!");

? ? System.exit(0);

} else {

? ? HTableDescriptor desc = new HTableDescriptor(TableName.valueOf(TableName));

? ? desc.addFamily(new HColumnDescriptor(family));

? ? admin.createTable(desc);

? ? admin.close();

? ? System.out.println("create table Success!");

}

}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末煞茫,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子洼滚,更是在濱河造成了極大的恐慌瞒渠,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疑俭,死亡現(xiàn)場離奇詭異粮呢,居然都是意外死亡,警方通過查閱死者的電腦和手機钞艇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門啄寡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人哩照,你說我怎么就攤上這事挺物。” “怎么了飘弧?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵识藤,是天一觀的道長。 經(jīng)常有香客問我次伶,道長痴昧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任冠王,我火速辦了婚禮赶撰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘柱彻。我一直安慰自己豪娜,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布哟楷。 她就那樣靜靜地躺著侵歇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪吓蘑。 梳的紋絲不亂的頭發(fā)上惕虑,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天坟冲,我揣著相機與錄音,去河邊找鬼溃蔫。 笑死健提,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的伟叛。 我是一名探鬼主播私痹,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼统刮!你這毒婦竟也來了紊遵?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤侥蒙,失蹤者是張志新(化名)和其女友劉穎暗膜,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鞭衩,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡学搜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了论衍。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瑞佩。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖坯台,靈堂內(nèi)的尸體忽然破棺而出炬丸,到底是詐尸還是另有隱情,我是刑警寧澤蜒蕾,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布稠炬,位于F島的核電站,受9級特大地震影響滥搭,放射性物質(zhì)發(fā)生泄漏酸纲。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一瑟匆、第九天 我趴在偏房一處隱蔽的房頂上張望闽坡。 院中可真熱鬧,春花似錦愁溜、人聲如沸疾嗅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽代承。三九已至,卻和暖如春渐扮,著一層夾襖步出監(jiān)牢的瞬間论悴,已是汗流浹背掖棉。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留膀估,地道東北人幔亥。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像察纯,于是被迫代替她去往敵國和親帕棉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容