CREATE TABLE employee_details(
emp_first_name varchar(50),
emp_last_name varchar(50),
emp_dept varchar(50)
)
PARTITIONED BY (
emp_doj varchar(50),
emp_dept_id int )
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe'
STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.RCFileInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.RCFileOutputFormat';
存储的配置单元表的位置是/ data / warehouse / employee_details
我有一个hive表员工加载数据,并由emp_doj,emp_dept_id和FileFormat分区为RC文件格式。
我想使用spark-sql处理表中的数据,而不使用hive-context(只需使用sqlContext)。
你能帮我解决一下如何将hive表的分区数据加载到RDD并转换为DataFrame
答案 0 :(得分:0)
如果您使用的是Spark 2.0,则可以这样做。
val spark = SparkSession
.builder()
.appName("Spark Hive Example")
.config("spark.sql.warehouse.dir", warehouseLocation)
.enableHiveSupport()
.getOrCreate()
import spark.implicits._
import spark.sql
// Queries are expressed in HiveQL
sql("SELECT * FROM src").show()