⑴ 如何用java redis hbase
比如 MongoDB 和 CouchDB。每个数据存储都有其优势和劣势,特别是当应用于特定领域时。 本期的 Java 开发 2.0 关注的是 Redis,一种轻量级键值对数据存储。多数 NoSQL 实现本质上都是键值对,但是 Redis 支持非常丰富的值集,其中包括字符串、列表、集以及散列。因此,Redis 通常被称为数据结构服务器。Redis 也以异常快速而闻名,这使得它成为某一特定类型使用案例的最优选择。 当我们想要了解一种新事物时,将其同熟知的事物进行比较可能会有所帮助,因此,我们将通过对比其与 memcached 的相似性以开启 Redis 探索之旅。接着我们将介绍 Redis 的主要功能,这些功能可以使其在某些应用场景可以胜过 memcached。最后我将向您展示如何将 Redis 作为一个传统数据存储用于模型对象。Redis 和 memcached Memcached 是一个众所周知的内存对象缓存系统,通过将目标键和值导入内存缓存运行。因此,Memcached 能回避读取磁盘时发生的 I/O 成本问题。在 Web 应用程序和数据库之间粘贴 memcached 时会产生更好的读取性能。因此,对于那些需要快速数据查询的应用程序,Memcached 是一个不错的选择。其中的一个例子为股票查询服务,需要另外访问数据库获取相对静态数据,如股票名称或价格信息。 MemcacheDB 将Redis 与 memcached 相比较并不公平,它与 MemcacheDB 相比要好的多,MemcacheDB 是一个分布式键值对存储系统,专为数据持久化而设计。MemcacheDB 与 Redis 较为相似,其新增优势可以使其轻松地与 memcached 实现的客户端进行通信。 但是memcached 也有其局限性,其中一个事实就是它所有的值均是简单的字符串。Redis 作为 memcached 的替代者,支持更加丰富的功能集。一些基准 (benchmarks) 也表明 Redis 的速度要比 memcached 快很多。Redis 提供的丰富数据类型使其可以在内存中存储更为复杂的数据,这是使用 memcached 无法实现的。同 memcached 不一样,Redis 可以持久化其数据。 Redis 解决了一个重大的缓存问题,而其丰富的功能集又为其找到了其他用途。由于 Redis 能够在磁盘上存储数据以及跨节点复制数据,因而可以作为数据仓库用于传统数据模式(也就是说,您可以使用 Redis,就像使用 RDBMS 一样)。Redis 还经常被用作队列系统。在本用例中,Redis 是备份和工作队列持久化存储(利用 Redis 的列表类型)的基础。GitHub 是以此种方法使用 Redis 的大规模基础架构示例准备好 Redis,立即开始! 要开始使用 Redis,您需要访问它,可以通过本地安装或者托管供应商来实现访问。如果您使用的 MAC,安装过程可能就不那么简单。
⑵ 如何进入大数据领域,学习路线是什么
进入大数据领域,学习路线是多元且深入的,但关键在于打下坚实的基础。首先,学习 Java 语言和 Linux 操作系统,这两项技能是大数据学习的基石。
在 Java 方面,重点掌握 JavaSE,无需深入 JavaEE、JavaME 的技术。了解 Servlet、JSP、Tomcat、Struts、Spring、Hibernate、Mybatis 的用途,但无需深入学习它们在大数据中的应用,重点在于理解 Java 如何连接数据库,掌握 JDBC 的使用。
对于 Hibernate 或 Mybatis,虽然它们能连接数据库,但它们可能不是大数据处理的首选技术,学习它们的原理能加深你对 Java 操作数据库的理解,尤其是 Java 的反射和 JDBC 的使用。
Linux 的学习需要扎实,因为大数据相关软件运行在其之上。这将帮助你更好地理解 Hadoop、Hive、HBase、Spark 等软件的运行环境和网络配置,减少错误,提高学习效率。同时,学习 shell 脚本能让你更轻松地配置大数据集群。
掌握了基础后,推荐以下技术学习路线:
1. Hadoop:这是大数据处理的核心平台,学习 HDFS、MapRece 和 YARN。HDFS 用于数据存储,MapRece 用于数据处理,YARN 则是管理资源的平台,让大数据生态系统中的软件能在上面运行,节省资源。
2. Zookeeper:它常用于存储协作信息,如 Hadoop HA 安装时用到。了解其基本安装和运行即可。
3. MySQL:学习基本的安装、配置权限和 SQL 语法,为学习 Hive 做准备。
4. Sqoop:用于 MySQL 数据导入到 Hadoop,理解其使用方法。
5. Hive:对于熟悉 SQL 的人来说,Hive 是神器,简化了大数据处理。掌握 Hive 的 SQL 语法。
6. Oozie:管理 Hive、MapRece、Spark 脚本,检查程序执行状态,配置任务依赖,提升工作效率。
7. Hbase:Hadoop 生态系统中的 NoSQL 数据库,用于存储和处理大数据。
8. Kafka:用于数据排队处理,解决数据处理压力,配合 Flume 进行数据采集和处理。
9. Spark:弥补 MapRece 处理速度上的不足,适合迭代运算,用 Scala 编写,Java 或 Scala 可操作。
10. Flink:提供快速的流式计算,支持数据处理的各类需求,是大数据处理的高效工具。
掌握以上技术后,你将成为专业的大数据开发工程师。持续学习 Python、网络爬虫、推荐和分类算法原理等,将使你成为公司不可或缺的专家。
最后,分享一篇学好大数据的建议文章,帮助你深入理解大数据的学习方法和实践技巧。
⑶ hbase java端调用
这是缺少必要的类org/apache/hadoop/thirdparty/guava/common/primitives/UnsignedBytes
你可以到jarsearch上搜索含有这个类的jar包,然后把它放到classpath下就行了
⑷ eclipse中Java程序实现对HBase操作报错:java.io.IOException: Attempt to start meta tracker failed.
我hadoop和Hbase都是采用伪分布式的
代码如下:
public class HbaseTest {
private static Configuration conf;
static{
conf = HBaseConfiguration.create();
conf.set("hbase.rootdir", "hdfs://192.168.56.2:9000/hbase");
//使用eclipse时必须添加这个,否则无法定位
conf.set("hbase.zookeeper.quorum", "192.168.56.2");
conf.set("hbase.zookeeper.property.clientPort", "2181");
}
public static void createTable(String tableName){
System.out.println("start create table ......");
try {
HBaseAdmin hbAdmin = new HBaseAdmin(conf);
if(hbAdmin.tableExists(tableName)){
hbAdmin.disableTable(tableName);
hbAdmin.deleteTable(tableName);
System.out.println(tableName + " is exist,detele ....");
}
// HTableDescriptor htd = new HTableDescriptor(tableName);
HTableDescriptor htd = new HTableDescriptor(tableName);
htd.addFamily(new HColumnDescriptor("cf1"));
htd.addFamily(new HColumnDescriptor("cf2"));
htd.addFamily(new HColumnDescriptor("cf3"));
htd.addFamily(new HColumnDescriptor("cf4"));
hbAdmin.createTable(htd);
} catch (MasterNotRunningException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ZooKeeperConnectionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("end create table ......");
}
public static void main(String[] args) {
createTable("testTable");
}
更多0