这是一个天真的问题,但我是NoSQL范式的新手,不太了解。 所以,如果有人能够帮助我清楚地理解HBase和Hadoop之间的区别,或者给出一些可以帮助我理解差异的指针。 直到现在,我做了一些研究和acc。 根据我的理解,Hadoop提供了在HDFS中使用原始数据块(文件)的框架,HBase是Hadoop之上的数据库引擎,基本上可以使用结构化数据而不是原始数据块。 像SQL一样,Hbase提供了一个HDFS上的逻辑层。 这是对的吗? 请随时纠正我。 谢谢。
使用Hadoop或HBase或Hive有什么好处? 根据我的理解, HBase避免使用map-reduce,并且在HDFS之上有一个面向列的存储。 Hive是一个类似于SQL的Hadoop和HBase接口。 我也想知道Hive与Pig的比较。
下面的代码将从hbase中读取,然后将其转换为json结构并转换为schemaRDD,但问题是我using List来存储jsonstring,然后传递给javaRDD,对于大约100 GB的数据,master将会加载内存中的数据。 从hbase加载数据然后执行操作,然后转换为JavaRDD的正确方法是什么? package hbase_reader; import java.io.IOException; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import org.apache.spark.api.java.JavaPairRDD; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.rdd.RDD; import org.apache.spark.sql.api.java.JavaSQLContext; import org.apache.spark.sql.api.java.JavaSchemaRDD; import org.apache.commons.cli.ParseException; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.KeyValue; import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.io.ImmutableBytesWritable; import org.apache.hadoop.hbase.mapreduce.TableInputFormat; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.io.Text; import org.apache.spark.SparkConf; import scala.Function1; import scala.Tuple2; import […]