环境:CDH5.8,Spark:1.6.0;Hadoop:2.6.0,Intellij IDEA14 ,jdk1.8,sdk:2.10.6 ,maven:3.3.3;
工程下载地址:https://github.com/fansy1990/spark_hive_source_destination
1. Spark读取Hive
Spark读取Hive,使用的是HiveContext,第一步使用sc生成一个HiveContext,然后其他操作就是在HiveContext里面操作了;
比如使用HiveContext的tables()方法,那么就可以得到Hive中所有表的相关信息,使用工程中的hiveinout.SparkReadHive的测试类,在终端中运行:
spark-submit --class hiveinout.SparkReadHive --master yarn --deploy-mode cluster --jars /usr/lib/hive/lib/datanucleus-core-3.2.10.jar --files /usr/lib/hive/conf/hive-site.xml spark_hive-1.0-SNAPSHOT.jar
其中,使用的是Spark On YARN的方式来运行,这里还需要指定第三方jar,也就是datanucleus相关jar以及hive-site.