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。これが、少なくとも私が多くの選択クエリを作成し、結果のデータフレームを積み重ねた理由です。