使用 spark 2.1 连接到 Hbase1.2
Connect to Hbase1.2 with spark 2.1
官方文档后的简单代码:
public static void main(String[] args) throws Exception {
SparkConf conf = new SparkConf().setAppName("MyApp")
.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer");
JavaSparkContext sc = new JavaSparkContext(conf);
Configuration cfg = HBaseConfiguration.create();
// cfg.set("hbase.zookeeper.quorum", "localhost");
JavaHBaseContext hc = new JavaHBaseContext(sc, cfg);
JavaRDD<List<String>> rdd = sc.parallelize(Arrays.asList(Tom, Jerry));
System.out.println(rdd.collect());
}
Maven 中的 pom:
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-spark</artifactId>
<version>2.0.0-alpha-1</version>
</dependency>
我收到一个错误:
Exception in thread "main" java.lang.NoClassDefFoundError:
org/apache/spark/Logging
如何解决?
org/apache/spark/Logging 在 spark 1.5.2 之后被移除。所以我认为你遇到了这个错误。
能不能试试把spark-core_2.11-1.5.2.logging.jar单独放到你的工程jar目录下,然后重新运行你的应用。
官方文档后的简单代码:
public static void main(String[] args) throws Exception {
SparkConf conf = new SparkConf().setAppName("MyApp")
.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer");
JavaSparkContext sc = new JavaSparkContext(conf);
Configuration cfg = HBaseConfiguration.create();
// cfg.set("hbase.zookeeper.quorum", "localhost");
JavaHBaseContext hc = new JavaHBaseContext(sc, cfg);
JavaRDD<List<String>> rdd = sc.parallelize(Arrays.asList(Tom, Jerry));
System.out.println(rdd.collect());
}
Maven 中的 pom:
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-spark</artifactId>
<version>2.0.0-alpha-1</version>
</dependency>
我收到一个错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/Logging
如何解决?
org/apache/spark/Logging 在 spark 1.5.2 之后被移除。所以我认为你遇到了这个错误。
能不能试试把spark-core_2.11-1.5.2.logging.jar单独放到你的工程jar目录下,然后重新运行你的应用。