如何从hive外部表创建数据框

时间:2017-05-11 11:32:12

标签: hadoop apache-spark dataframe hive apache-spark-sql

我们希望在Hive外部表之上创建数据框,并使用hive架构和数据进行火花级别的计算。

我们可以从hive外部表中获取模式并将其用作Dataframe模式。

4 个答案:

答案 0 :(得分:4)

hive-Metoreore知道表格的架构并将此信息传递给spark。表格是否为外部并不重要:

val df = sqlContext.table(tablename)

其中sqlContext的类型为HiveContext。您可以使用

验证架构
df.printSchema

答案 1 :(得分:1)

启用Hive的Spark可以开箱即用。请参考docs.

val dataframe = spark.sql("SELECT * FROM table")
val schema = dataframe.schema

答案 2 :(得分:0)

将数据加载到数据框中

df=sqlContext.sql("select * from hive_table")

使用structTypes获取架构

df.schema

获取配置单元表的列名称

df.columns

获取具有数据类型的列名

df.dtypes

答案 3 :(得分:0)

您可以将具有自己的游览名称的数据框创建到toDF()

df = spark.sql("select * from table").toDF(col1,col2)