2017-08-10 3 views
1

私は、1から10,000までのシーケンス値である列(pk_key)を持つ10,000レコードのRDBMSテーブルを持っているとします。私は火花を介してそれを読むことを計画しています。 私は10個のパーティションに分割する予定です。RDBMSに接続しているときにSparkで分割する

DataFrameReaderのjdbcメソッドでは、私のcolumnNameは "pk_key"になり、numPartitionsは10になります。 lowerBoundとupperBoundはどのようにするべきですか?

PS:私の実際のレコード数ははるかに多いです、私はそれがどのように動作するか理解する必要がありますか?

答えて

0

自然なキーはありますか?それは一意でないかもしれません。 lowerBoundとupperBoundをLong値にするのは難しいですが、それは日によって異なります。通常のJDBC接続を経由して

select min(pk_key) from table; 
select max(pk_key) from table; 

:あなたが行うことができます

ことの一つは、2つのクエリを実行することです。最初のクエリはlowerBoundを返し、2番目のクエリはupperBoundを返します

関連する問題