0

where句で1つのパラメータが変更された、多くの選択クエリの積み重ねられたデータセットであるデータセットを作成したいと考えています。selectクエリをn回呼び出し、それに応じてwhereの原因を変更することで、Pythonを使用してこれを行うことができます。これは、n個の個別の選択クエリを作成することなく、SQLで一度に実行できることですか?

例えば

dfs = []
for name in names:
    dfs.append(spark.select("select * from personal_data where Name = 'f{name}'"))
# Some logic to take the list of dataframes and make one stacked dataframe

連続したクエリではなく、1 つの選択クエリでこれを達成することは可能ですか?

アプローチが現在上記のようになっている理由は、テーブル内の行がグループ化されていないためです。たとえば、最初の名前の where 句を入力すると、行 1、6、10 が取得されます。次の名前は行 2、3 を返します。 、 7。

結果のデータセットは、この順序を保持する必要があります。

行1、6、10、2、3、7。これが、少なくとも私が多くの選択クエリを作成し、結果のデータフレームを積み重ねた理由です。

4

2 に答える 2