日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Gora快速入门

發布時間:2024/8/26 综合教程 21 生活家
生活随笔 收集整理的這篇文章主要介紹了 Gora快速入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

Gora是apache的一個開源項目。

The Apache Gora open source framework provides an in-memory data model and persistence for big data. Gora supports persisting to column stores, key value stores, document stores and RDBMSs,
and analyzing the data with extensive Apache Hadoop MapReduce support. - See more at: http://gora.apache.org/current/tutorial.html#sthash.i7gfQUe7.dpuf
The Apache Gora open source framework provides an in-memory data model and persistence for big data. Gora supports persisting to column stores, key value stores, document stores and RDBMSs,
and analyzing the data with extensive Apache Hadoop MapReduce support. - See more at: http://gora.apache.org/current/tutorial.html#sthash.i7gfQUe7.dpuf
The Apache Gora open source framework provides an in-memory data model and persistence for big data. Gora supports persisting to column stores, key value stores, document stores and RDBMSs,
and analyzing the data with extensive Apache Hadoop MapReduce support. - See more at: http://gora.apache.org/current/tutorial.html#sthash.i7gfQUe7.dpuf
The Apache Gora open source framework provides an in-memory data model and persistence for big data. Gora supports persisting to column stores, key value stores, document stores and RDBMSs, and analyzing the data with extensive
Apache Hadoop MapReduce support.

Gora與Hibernate類似,提供了java類到數據庫的映射及持久化,前者雖也支持RDMS,但更側重于列式、KV等類型的數據庫。

The Apache Gora open source framework provides an in-memory data model and persistence for big data. Gora supports persisting to column stores, key value stores, document stores and RDBMSs,
and analyzing the data with extensive Apache Hadoop MapReduce support. - See more at: http://gora.apache.org/current/tutorial.html#sthash.i7gfQUe7.dpuf

使用Gora寫入數據的關鍵步驟

1、根據要處理的數據,創建用于描述數據結構的json文件,并由此生成java類。
2、創建gora-hbase-mapping.xml,用于注明描述了數據庫表的結構,以及java類中的屬性與數據庫中字段的對應關系。

3、創建主類,用于創建對象,并寫入數據庫。

即前2步建立了用于描述數據的java類及數據庫表,以及它們之間的映射關系。第三步首先將內容讀入java程序中,然后通過gora寫入數據庫。

快速入門范例

更詳細范例可參考

http://blog.csdn.net/jediael_lu/article/details/43272521

http://gora.apache.org/current/tutorial.html

1、創建一個java project,并準備好待分析的內容。

本項目用于讀取/etc/passwd中的內容,并將其寫入hbase數據庫中。

2、創建conf/gora.properties,此文件定義了gora所使用的一些屬性。

##gora.datastore.default is the default detastore implementation to use
##if it is not passed to the DataStoreFactory#createDataStore() method.
gora.datastore.default=org.apache.gora.hbase.store.HBaseStore

##whether to create schema automatically if not exists.
gora.datastore.autocreateschema=true

3、根據/etc/passwd的內容創建avro/passwd.json

{
  "type": "record",
  "name": "Passwd", "default":null,
  "namespace": "org.ljh.gora.demo.generated",
  "fields" : [
    {"name": "loginname", "type": ["null","string"], "default":null},
    {"name": "passwd", "type":  ["null","string"], "default":null},
    {"name": "uid", "type": "int", "default":0},
    {"name": "gid", "type": "int", "default":0},
    {"name": "username", "type": ["null","string"], "default":null},
    {"name": "home", "type": ["null","string"], "default":null},
    {"name": "shell", "type": ["null","string"], "default":null}
  ]
}

4、利用avro/passwd.json生成類
$ gora goracompiler avro/passwd.json src
Compiling: /Users/liaoliuqing/99_Project/1_myCodes/GoraDemo/avro/passwd.json
Compiled into: /Users/liaoliuqing/99_Project/1_myCodes/GoraDemo/src
Compiler executed SUCCESSFULL

5、創建conf/gora-hbase-mapping.xml,用于注明描述了數據庫表的結構,以及java類中的屬性與數據庫中字段的對應關系。

<?xml version="1.0" encoding="UTF-8"?>

<gora-otd>
  <table name="Passwd"> 
    <family name="common"/> 
    <family name="env"/>
  </table>

  <class name="org.ljh.gora.demo.generated.Passwd" keyClass="java.lang.Long" table="Passwd">
    <field name="loginname" family="common" qualifier="loginname"/>
    <field name="passwd" family="common" qualifier="passwd"/>
    <field name="uid" family="common" qualifier="uid" />
    <field name="gid" family="common" qualifier="gid"/>
    <field name="username" family="common" qualifier="username"/>
    <field name="home" family="env" qualifier="home"/>
    <field name="shell" family="env" qualifier="shell"/>
  </class>

</gora-otd>

6、編寫類文件

package org.ljh.gora.demo;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.text.ParseException;

import org.apache.gora.store.DataStore;
import org.apache.gora.store.DataStoreFactory;
import org.apache.hadoop.conf.Configuration;
import org.ljh.gora.demo.generated.Passwd;

public class PasswdManager {

 private DataStore<Long, Passwd> dataStore = null;

 public PasswdManager() {
  try {
   init();
  } catch (IOException ex) {
   throw new RuntimeException(ex);
  }
 }

 private void init() throws IOException {
         
  dataStore = DataStoreFactory.getDataStore(Long.class, Passwd.class,
    new Configuration());
 }

 private void parse(String input) throws IOException, ParseException,
   Exception {
  BufferedReader reader = new BufferedReader(new FileReader(input));
  long lineCount = 0;
  try {
   String line = reader.readLine();
   do {
    Passwd passwd = parseLine(line);
    if (passwd != null) {
     dataStore.put(lineCount++, passwd);
     dataStore.flush();
    }
    line = reader.readLine();
   } while (line != null);

  } finally {
   reader.close();
   dataStore.close();
  }
 }

 /** Parses a single log line in combined log format using StringTokenizers */
 private Passwd parseLine(String line) throws ParseException {

  String[] tokens = line.split(":");
  System.out.println(tokens[0] + tokens[1] + "


");

  String loginname = tokens[0];
  String password = tokens[1];
  int uid = Integer.parseInt(tokens[2]);
  int gid = Integer.parseInt(tokens[3]);
  String username = tokens[4];
  String home = tokens[5];
  String shell = tokens[6];

  Passwd passwd = new Passwd();
  passwd.setLoginname(loginname);
  passwd.setPasswd(password);
  passwd.setUid(uid);
  passwd.setGid(gid);
  passwd.setUsername(username);
  passwd.setHome(home);
  passwd.setShell(shell);

  return passwd;
 }

 public static void main(String[] args) throws IOException, ParseException,
   Exception {
  PasswdManager manager = new PasswdManager();
  manager.parse("passwd");
 }
}

程序中的關鍵步驟如下:

(1)獲取DataSource

dataStore = DataStoreFactory.getDataStore(Long.class, Passwd.class,
    new Configuration());

(2)準備好寫入數據庫數據的key與value

long lineCount = 0;    
Passwd passwd = parseLine(line);

(3)將數據寫入庫表

     dataStore.put(lineCount++, passwd);

7、從eclipsse導出程序,上傳到服務器中,并運行程序

$ java -jar GoraDemo.jar

(1)導出的程序應為runnable jar file。

(2)運行程序的服務器器中需要運行著hbase。

8、查看結果

hbase(main):006:0> scan 'Passwd'
ROW                                         COLUMN+CELL                                                                                                                 
 x00x00x00x00x00x00x00x00           column=common:gid, timestamp=1422544581799, value=x00x00x00x00                                                          
 x00x00x00x00x00x00x00x00           column=common:loginname, timestamp=1422544581799, value=root                                                               
 x00x00x00x00x00x00x00x00           column=common:passwd, timestamp=1422544581799, value=x                                                                      
 x00x00x00x00x00x00x00x00           column=common:uid, timestamp=1422544581799, value=x00x00x00x00                                                          
 x00x00x00x00x00x00x00x00           column=common:username, timestamp=1422544581799, value=root     
………………………………

另外,關于讀取數據庫及刪除數據的操作,請參考本文最前面的參考文檔。

總結

以上是生活随笔為你收集整理的Gora快速入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 高清国产一区二区三区 | 国产精品高清在线 | 蜜桃av噜噜一区二区三区网址 | 色女孩综合网 | 亚洲精品粉嫩小泬20p | 国产成人无码精品亚洲 | 蜜臀av一区二区三区激情综合 | 欧美日韩一区二区区别是什么 | 最近日韩中文字幕中文 | 亚洲一区二区播放 | 中国黄色网址 | 亚洲免费观看在线 | 成人黄色网 | 久久久久在线视频 | 古装做爰无遮挡三级 | 免费看亚洲 | 杨贵妃颤抖双乳呻吟求欢小说 | 久久精品女人毛片国产 | 欧美综合激情 | 日本一区二区在线免费 | 五月亚洲婷婷 | 国产精品美女久久久久 | 国产精品污污 | 国产精品国产a级 | 日韩毛片在线播放 | 欧美激情第三页 | 1024福利| 天堂在线观看av | 国产久操视频 | 久久露脸国语精品国产 | 一级免费视频 | 高潮久久久 | 日韩午夜激情视频 | 黑人玩弄人妻一区二区三区四 | 日本a在线播放 | 精品视频在线观看一区二区 | 日批av| 老湿福利影院 | 天堂最新 | 亚洲成人播放 | 91chinese在线 | 午夜毛片在线 | 嫩模一区二区三区 | 嫩草国产精品 | 亚洲欧美日韩成人在线 | 91视频 - 88av| 黄色三级网站 | 99re在线 | 丰满少妇在线观看网站 | 黑人精品无码一区二区三区AV | 日韩激情国产 | 日韩av手机在线播放 | 亚洲爱爱av | 免费三级大片 | 日本激情一区二区 | 亚州中文字幕 | av av在线 | 午夜伦理在线观看 | 久久久久久中文字幕 | 涩涩视屏 | 亚洲欧美日韩成人 | 国产午夜小视频 | 第一色网站 | 精彩视频一区二区三区 | 国产原创剧情av | 最新欧美日韩 | 日本视频一区二区三区 | 日本免费无人高清 | 高清av网址 | 欧美国产日韩一区二区三区 | 国产精品欧美日韩 | 亚洲一级av无码毛片精品 | 色婷婷免费 | 日韩精美视频 | 女同性做受全过程动图 | 国产在成人精品线拍偷自揄拍 | 国模一区二区三区 | 手机福利在线 | 精品亚洲一区二区三区四区五区高 | 久操视频在线观看 | 亚洲精品1| 亚洲国产成人精品无码区99 | x88av在线| 日本草草影院 | 在线观看中文字幕 | 麻豆影视在线播放 | 欧美精品在线视频 | 极品少妇xxxx精品少妇偷拍 | 少妇高潮喷水在线观看 | 欧美亚洲视频在线观看 | 喷水视频在线观看 | 国产操操操 | 一级二级在线观看 | 日韩午夜免费 | 亚洲性猛交xxxx乱大交 | 亚洲欧美日韩综合一区二区 | 交做爰xxxⅹ性爽 | av久久久 | 亚av|