    [datasplash.core :as ds])
   (:import
    (com.google.api.services.bigquery.model
-    TableRow TableFieldSchema TableSchema TimePartitioning)
+    TableRow TableFieldSchema TableSchema TimePartitioning
+    Clustering)
    (org.apache.beam.sdk Pipeline)
    (org.apache.beam.sdk.io.gcp.bigquery
     BigQueryIO

                            (fn [transform retrypolicy] (.withFailedInsertRetryPolicy transform retrypolicy)))}
    :time-partitioning {:docstr "Toggles write partitioning for the destination table"
                        :action (fn [transform opts]
                                  (.withTimePartitioning transform (->time-partitioning opts)))}}))

(defn custom-output-fn [cust-fn]
  (ds/sfn (fn [elt]

                                   (if without-validation
                                     (.withoutValidation transform)
                                     transform))}
    :with-optimized-writes {:docstr "Allows optimized writes feature, deactivated by default to maintain backward compatibility"
                            :action (fn [transform bool]
                                      (when (true? bool)
                                        (.optimizedWrites transform)))}
    :ignore-unknown-values {:docstr "Ignores fields which does not match the schema."
                            :action (fn [transform ignore-unknown-values]
                                      (if ignore-unknown-values
