我正在尝试从Hive表中检索列列表并将结果存储在spark数据帧中.
var my_column_list = hiveContext.sql(s""" SHOW COLUMNS IN $my_hive_table""")
但我无法按字母顺序对数据帧进行排序,甚至无法对显示列查询的结果进行排序.我尝试使用sort和orderBy().
我怎样才能按字母顺序对结果进行排序?
更新:添加了我的代码示例
import org.apache.spark.{ SparkConf, SparkContext } import org.apache.spark.sql.DataFrame import org.apache.spark.sql.hive.HiveContext val hiveContext = new HiveContext(sc) hiveContext.sql("USE my_test_db") var lv_column_list = hiveContext.sql(s""" SHOW COLUMNS IN MYTABLE""") //WARN LazyStruct: Extra bytes detected at the end of the row! Ignoring similar problems lv_column_list.show //Works fine lv_column_list.orderBy("result").show //Error arisesSHOW COLUMNS查询生成一个Dataframe,其中包含一个名为result的列.如果您按此栏目订购,则可获得所需内容:
val df = hiveContext.sql(s""" SHOW COLUMNS IN $my_hive_table """) df.orderBy("result").show
精彩评论