NHibernate Нетерпеливые загружающиеся многоуровневые дочерние объекты

map является элементарным преобразованием, а transform является преобразованием RDD

map


map (func): возвращает новый DStream путем прохождения каждый элемент источника DStream через функцию func.

Вот пример, который демонстрирует операцию отображения и преобразования в DStream

val conf = new SparkConf().setMaster("local[*]").setAppName("StreamingTransformExample")
val ssc = new StreamingContext(conf, Seconds(5))    

val rdd1 = ssc.sparkContext.parallelize(Array(1,2,3))
val rdd2 = ssc.sparkContext.parallelize(Array(4,5,6))
val rddQueue = new Queue[RDD[Int]]
rddQueue.enqueue(rdd1)
rddQueue.enqueue(rdd2)

val numsDStream = ssc.queueStream(rddQueue, true)
val plusOneDStream = numsDStream.map(x => x+1)
plusOneDStream.print()

в map добавляет 1 к каждому элементу во всех RDD в DStream, дает результат, как показано ниже

-------------------------------------------
Time: 1501135220000 ms
-------------------------------------------
2
3
4

-------------------------------------------
Time: 1501135225000 ms
-------------------------------------------
5
6
7

-------------------------------------------

transform


transform (func): Return новый DStream, применяя функцию RDD-to-RDD к каждому RDD исходного DStream. Это может быть использовано для выполнения произвольных операций RDD в DStream.

val commonRdd = ssc.sparkContext.parallelize(Array(0))
val combinedDStream = numsDStream.transform(rdd=>(rdd.union(commonRdd)))
combinedDStream.print()

transform позволяет выполнять RDD-операцию, такую ​​как объединение, объединение и т. Д. На RDD внутри DStream, приведенный здесь примерный код будет выдавать выходной сигнал ниже

-------------------------------------------
Time: 1501135490000 ms
-------------------------------------------
1
2
3
0

-------------------------------------------
Time: 1501135495000 ms
-------------------------------------------
4
5
6
0

-------------------------------------------
Time: 1501135500000 ms
-------------------------------------------
0

-------------------------------------------
Time: 1501135505000 ms
-------------------------------------------
0
-------------------------------------------

, здесь commonRdd, который содержит элемент 0, выполняется операция объединения со всеми лежащими в основе RDD в DStream.

25
задан Mauricio Scheffer 19 February 2009 в 12:15
поделиться

1 ответ

Я полагаю, что Вы, возможно, должны были бы добавить псевдоним к BillingContact для разрешения, Вы получаете доступ к, он - Адрес.

Что-то как:

var criteria = DetachedCriteria.For<Order>()
  .CreateAlias("BillingContact", "bc")
  .SetFetchMode("BillingContact", FetchMode.Eager)
  .SetFetchMode("bc.Address", FetchMode.Eager)
26
ответ дан James Gregory 15 October 2019 в 17:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: