簡體   English   中英

如何創建一個 ClassTag <dataset<row> &gt; 在 Java </dataset<row>

[英]How to create a ClassTag<Dataset<Row>> in Java

我正在編寫一個需要廣播某些內容的 spark-sql 查詢。

現在我有一些這樣的代碼。 泛型類型參數是錯誤的。

final Broadcast<Dataset<Row>> b = sparkSession.sparkContext().broadcast(
                sparkSession.sql("My SQL"),
                classTag(Dataset.class)
        );

createTag 方法:

private static <T> ClassTag<T> classTag(final Class<T> clazz) {
        return scala.reflect.ClassManifestFactory.fromClass(clazz);
}

如何使代碼編譯?

你必須以一種丑陋的方式投射它:

classTag((Class<Dataset<Row>>) (Class<?>) Dataset.class)

不幸的是,我不知道更好的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM