我们希望在Hive外部表之上创建数据框,并使用hive架构和数据进行火花级别的计算。
我们可以从hive外部表中获取模式并将其用作Dataframe模式。
答案 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)