使用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時(shí)必須添加這個(gè),否則無法定位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負(fù)責(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);// 新建一個(gè)數(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)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容