[英]Is there an Encoder for Map type in Java Spark?
我正在嘗試創建一個自定義聚合器 function 作為結果產生 Map,但是它需要一個編碼器。 正如https://spark.apache.org/docs/2.1.0/api/java/org/apache/spark/sql/Encoders.ZFC35FDC70D5FC69D2693883 ...
[英]Is there an Encoder for Map type in Java Spark?
我正在嘗試創建一個自定義聚合器 function 作為結果產生 Map,但是它需要一個編碼器。 正如https://spark.apache.org/docs/2.1.0/api/java/org/apache/spark/sql/Encoders.ZFC35FDC70D5FC69D2693883 ...
[英]spark sql encoder for immutable data type
在編寫 java 代碼時,我通常使用不可變值類型。 有時它是通過庫(Immutables、AutoValue、Lombok)實現的,但主要是帶有以下內容的普通 Java 類: 所有final字段 以所有字段為參數的構造函數 (鑒於當前的火花支持,此問題適用於 java 11 及以下版本) ...
[英]Union generic type without Either Scala
這工作正常: 這也很好: 但是,我們如何實現這一點以返回類型 A 或 B? 是否有可能擁有泛型類型A和B的聯合類型? 干杯。 更新1 Either是一個選項,但並不理想,因為它在處理返回的結果時需要模式匹配。 實際上,我想要這個: A <: A|B , B <: A|B ,這Eith ...
[英]Impossible to operate on custom type after it is encoded? Spark Dataset
假設你有這個(編碼自定義類型的解決方案是從這個線程帶來的): 什么時候做ds.show ,我得到: 我知道這是因為內容被編碼為內部 Spark SQL 二進制表示。 但是我怎樣才能像這樣顯示解碼的內容呢? 更新1 顯示內容不是最大的問題,更重要的是在處理數據集時可能會導致問題,請考慮 ...
[英]Spark Dataframe - Encoder
我是 Scala 和 Spark 的新手。 我正在嘗試使用編碼器從 Spark 讀取文件,然后轉換為 java/scala object。 使用 as 讀取應用架構和編碼的文件的第一步工作正常。 然后我使用該數據集/數據框執行簡單的 map 操作,但如果我嘗試在生成的數據集/數據框上打印模式,它不會 ...
[英]How to covert a Dataframe to a Dataset,having a object reference of the parent class as a composition inside another class?
我正在嘗試將Dataframe轉換為Dataset ,並且 java 類結構如下: classpublic class A { private int a; public int getA() { return a; } public voi ...
[英]Error: Unable to find encoder for type org.apache.spark.sql.Dataset[(String, Long)]
以下數據集比較測試失敗並出現錯誤: 測試如您所見,我嘗試為 (String, Long) 創建 Kryo 編碼器 正在測試的 Spark 應用程序 ...
[英]Value Type is binary after Spark Dataset mapGroups operation even return a String in the function
環境: spark應用程序嘗試執行以下操作 1) 將輸入數據轉換成Dataset[GenericRecord] 2)按GenericRecord的key屬性分組 3) 使用 mapGroups after group 迭代值列表並得到一些字符串格式的結果 4) 將結果輸出為文本文件中 ...
[英]Add ADT column in Spark dataset?
我想創建一個包含 ADT 列的數據集。 基於這個問題: Encode an ADT / seal trait hierarchy into Spark DataSet column我知道,有一個用 kryo 編碼的解決方案,但這並不是很有幫助。 有另一種方法可以更好地解決這個問題。 讓我們定義以下 ...
[英]Parsing Protobuf ByteString in Spark not working after creating Encoder
我正在嘗試解析 spark 2.4 中的 protobuf (protobuf3) 數據,但 ByteString 類型遇到了一些問題。 我使用 ScalaPB 庫創建了案例 class 並將 jar 加載到火花 shell 中。 我也嘗試為該類型創建一個隱式編碼器,但是我仍然收到以下錯誤; jav ...
[英]Column type inferred as binary with typed UDAF
我正在嘗試實現一個返回復雜類型的類型化 UDAF。 不知怎的,星火不能推斷結果列的類型,並使其binary把序列化的數據在那里。 這是一個重現問題的最小示例 它打印 ...
[英]Spark Scala Dataset Type Hierarchy
嘗試執行擴展W的類以具有返回WR子類的數據集的方法get的方法。 編譯錯誤: 如果我將get函數更改為以下內容: 和 它可以編譯-因此我懷疑由於繼承/類型層次結構而引起的問題。 ...
[英]Rename columns in spark using @JsonProperty while creating Datasets
有沒有辦法在創建數據集時使用 Jackson 注釋重命名數據集中的列名? 我的編碼器類如下: 我的目標是根據@JsonProperty 重命名列,以便我可以重新使用相同的類和 json 功能。 請找到模塊的相關版本: - Spark : 2.4.0 (with scala 2.11) - j ...
[英]Question regarding kryo and java encoders in datasets
我正在使用 Spark 2.4 並參考https://spark.apache.org/docs/latest/rdd-programming-guide.html#rdd-persistence 豆類: public class EmployeeBean implements Serializa ...
[英]Why doesn't dataset's foreach method require an encoder, but map does?
我有兩個數據集: Dataset[User]和Dataset[Book] ,其中User和Book都是案例類。 我像這樣加入他們: val joinDS = ds1.join(ds2, "userid") 如果我嘗試map joinDS每個元素,則編譯器會抱怨缺少編碼器: no ...
[英]How to create an Encoder for Scala collection (to implement custom Aggregator)?
使用Scala 2.11的Spark 2.3.0。 我正在根據此處的文檔實現自定義Aggregator 。 聚合器需要3種類型的輸入,緩沖區和輸出。 我的聚合器必須對窗口中的所有先前行進行操作,因此我這樣聲明: 一種重寫方法應該返回用於緩沖區類型的編碼器,在這種情況下為List ...
[英]How to make an Encoder for scala Iterable, spark dataset
我試圖創建一個從RDD數據集y Pattern: y: RDD[(MyObj1, scala.Iterable[MyObj2])] 所以我明確創建了編碼器 : 當我編譯此代碼時,我沒有錯誤,但是當我嘗試運行它時,出現此錯誤: 我的對象的一些說明(MyObj1和MyOb ...
[英]How to implement Functor[Dataset]
我正在努力如何創建Functor[Dataset]的實例...問題是當你從A map到B , Encoder[B]必須在隱式范圍內,但我不知道該怎么做。 當然這個代碼拋出了一個編譯錯誤,因為Encoder[B]不可用但我不能將Encoder[B]添加為隱式參數,因為它會改變map方法簽名 ...
[英]How to create a Dataset of Maps?
我正在使用 Spark 2.2 並且在嘗試在Map的Seq上調用spark.createDataset時遇到了麻煩。 我的 Spark Shell 會話的代碼和輸出如下: 我試過import spark.implicits._ ,但我相當確定它是由 Spark shell 會話隱式導入的。 ...
[英]Generic T as Spark Dataset[T] constructor
在下面的代碼片段中, tryParquet函數嘗試從Parquet文件加載數據集(如果存在)。 如果沒有,它會計算,持久並返回提供的數據集計划: 但是這會在df.as[T]上產生編譯錯誤: 無法找到存儲在數據集中的類型的編碼器。 導入spark.implicits._支持原 ...