运维开发网

scala – 对Spark数据框/ Hive结果集进行排序

运维开发网 https://www.qedev.com 2020-07-20 17:03 出处:网络 作者:运维开发网整理
我正在尝试从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

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号