scala – 对Spark数据框/ Hive结果集进行排序
发布时间:2020-12-16 10:01:12 所属栏目:安全 来源:网络整理
导读:我正在尝试从Hive表中检索列列表并将结果存储在spark数据帧中. var my_column_list = hiveContext.sql(s""" SHOW COLUMNS IN $my_hive_table""") 但我无法按字母顺序对数据帧进行排序,甚至无法对显示列查询的结果进行排序.我尝试使用sort和orderBy(). 我怎样
我正在尝试从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 arises 解决方法
SHOW COLUMNS查询生成一个Dataframe,其中包含一个名为result的列.如果您按此栏目订购,则可获得所需内容:
val df = hiveContext.sql(s""" SHOW COLUMNS IN $my_hive_table """) df.orderBy("result").show (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容