SQL の LIMIT 句は落とし穴レコードです

シナリオによっては、unparsed大きなテーブルから最初の 100 行を抽出し、これらの行に UDF を適用することが必要になる場合があります。考えやすい SQL ステートメントは次のとおりです。

@pyspark
insert into table parsed
select url, parse_func(content) as parsed_content from unparsed
limit 100;

ただし、このステートメントは実際にはUDF をunparsedすべての行に適用し、最初の 100 行を抽出することになるため、次のような変更が可能です。

@pyspark
insert into table parsed
select url, parse_func(content) as parsed_content
from (
    select url, content from unparsed
    limit 100
);

次のステートメントは無効であり、速度は変更されないことに注意してください。

@pyspark
insert into table parsed
(select url, parse_func(content) as parsed_content from unparsed limit 100);

おすすめ

転載: blog.csdn.net/raelum/article/details/133578044