在Hive
中,我有一个名为test的表。在这个表中,我希望有5列。
ID, start_time, end_time, min_value, max_value.
现在使用Pyspark
我想填充此表。
我在python文件中的行为如下:
start_time='4/5/2017'
end_time='5/4/2017'
min_value='1'
max_value='100'
sqlContext.sql("insert into table testing.test select '{}','{}','{}','{}','{}'".format(id,start_time,end_time,min_value,max_value))
在上面的脚本start_time,end_time,min_value,max_value中,我将把这些值作为脚本的一部分。
现在我想要的是当列正在执行时,列应该是Auto incremented
然后应该有
id
增加了值。
是否有可能使用python?如果是,那么
如何在我的脚本中为列ID
自动增加
答案 0 :(得分:0)
你可以简单地创建一个ID变量,并在你执行insert命令时添加它,如:
id = 1 #outside of the loop or function, possibly make it a global variable
#some loop or function#
sqlContext.sql(....)
id = id + 1
如果您打算多次填充该数据库(很可能),您应该从数据库的最新/最高值获取id变量,因此它不会重复; )