在目前企业级 Spark大数据开发中,大多数情况下都是采用Hive来作为数据仓库的。Spark提供了对Hive的支持,
Spark通过HiveContext可以直接操作Hive中的数据。基于HiveContext,、我们可以使用sql/hql两种方式来编写SQL语句
对Hive进行操作,包括:创建表、删除表、往表中导入数据、以及对表中的数据进行CRUD(増、删、改、査)操作。
下面就开始动手实战。
注意如果没有将hive的hive-site.xml拷贝到spark的conf中,通过Spark sql并不能显示hive中通过hive创建的数据库,
Hadoop下的core-site.xml和hdfs-site.xml也拷贝过来。
本案例使用 Scala 语言开发,在Spak中使用Hive数据库,通过 HiveContext使用Join基于Hive中的两张表(人员信息表、人员分数表)
进行关联,査询大于90分的人的姓名、分数、年龄。演示了对Hive的常用操作(例如删除表、新建表、加载表数据、保存表数据)
然后打包递交到 Spark集群中运行。具体实现如下:
1.准备数据
在HDFS文件的对应目录下,上传两个文件(当然也可以放在本地。): people.txt和 peoplescores.txt,peo,pleple.txt文件
是人员信息表,包括人员姓名和年龄,信息; peoplescores.txt是人员分数表,包括人员姓名和分数信息。
上传数据文件:
scala代码实现:
更新中。。。。