将配置单元行对象转换为Integer Spark



我正在尝试将配置单元列的输出转换为键值对。

sqlContext = HiveContext(sc)
id1 = sqlContext.sql("select instance_id from temp_table")
pairs1 = id1.map(lambda s: (int(s), 'Configuration'))

我得到以下错误

TypeError: int() argument must be a string or a number, not 'Row'

我不知道如何将HiveRow对象类型转换为整数,以便将map函数应用于

例如,id1是一个数据帧,当我对其应用collect()时,它会返回

[Row(_c0=12616821)]

我需要从Row对象中提取值。请让我知道是否有任何与此问题相关的解决方案

我找到了一种从Row Object中获取整数值的方法。最初,我想到了应用typecast并将其转换为int和其他一些方法。但我们似乎可以通过应用这样简单的指数来获得价值

>> id1 = sqlContext.sql("select int(id) as id  from temp_table limit 1")
>> temp = df1.select('id').collect()
>> temp
[Row(id = 9331413)]
>> temp[0][0]
9331413

相关内容

  • 没有找到相关文章

最新更新