code: def get_private_movies(movie_views, backend):
      """Obtains the list of movies in a differentially private manner.
  
      This does not calculate any metrics; it merely returns the list of
      movies, making sure the result is differentially private.
      """
  
      # Set the total privacy budget.
      budget_accountant = pipeline_dp.NaiveBudgetAccountant(
          total_epsilon=0.1, total_delta=1e-6
      )
  
      # Create a DPEngine instance.
      dp_engine = pipeline_dp.DPEngine(budget_accountant, backend)
  
      # Specify how to extract privacy_id, partition_key and value from an
      # element of movie view collection.
      data_extractors = pipeline_dp.DataExtractors(
          partition_extractor=lambda mv: mv.movie_id,
          privacy_id_extractor=lambda mv: mv.user_id,
      )
  
      # Run aggregation.
      dp_result = dp_engine.select_partitions(
          movie_views,
          pipeline_dp.SelectPartitionsParams(
              max_partitions_contributed=2
          ),
          data_extractors=data_extractors,
      )
  
      budget_accountant.compute_budgets()
      return dp_result
  
file_path: pipelinedp/examples/movie_view_ratings/run_all_frameworks.py
imports: from absl import app
  from absl import flags
  from apache_beam.runners.portability import fn_api_runner
  import pyspark
  from examples.movie_view_ratings.common_utils import *
  import pipeline_dp
label_desc: Use image node_id 3 for calling a global function with example usage: get_private_movies(movie_views, backend) and returns: dp_result