2017-05-19 9 views
0

Hive私はtestというテーブルを持っています。この表では、5つの列が必要です。Pythonを使用してテーブルの列を自動インクリメント

ID, start_time, end_time, min_value, max_value. 

ここではPysparkを使用しています。この表にデータを入力します。

私はPythonのファイルに以下のようにやっている:この上記のスクリプトのstart_time、END_TIME、MIN_VALUE、MAX_VALUEで

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)) 

私はスクリプトの一部としてこれらの値を取得します。

今、私が欲しいものを今までにinsert文がある場合に、列がAuto incrementedあるべきであるが、それに追加 id価値があるはず実行されています。

これはPythonを使用して可能ですか?もしそうそして

どのように私は私のスクリプトで列IDの自動インクリメントを行うことができます

あなたは、単にID変数を作り、そしてあなたも、挿入コマンドを実行するたびに、それに追加することができ

答えて

0

、何かのように:

id = 1 #outside of the loop or function, possibly make it a global variable 

#some loop or function# 

sqlContext.sql(....) 

id = id + 1 

データベースを一度より多く挿入する場合(おそらくそうです)、id変数をデータベースの最新の/最高の値から取得する必要があります。 )

関連する問題