Если у вас есть DataFrame, есть API для преобразования обратно в RDD [String], который содержит записи json.
val df = Seq((2012, 8, "Batman", 9.8), (2012, 8, "Hero", 8.7), (2012, 7, "Robot", 5.5), (2011, 7, "Git", 2.0)).toDF("year", "month", "title", "rating")
df.toJSON.saveAsTextFile("/tmp/jsonRecords")
df.toJSON.take(2).foreach(println)
Это должно быть доступно от Spark 1.4 дальше. Вызовите API на результат, созданный вами DataFrame.
Доступные API доступны здесь
Полностью возможно!
Различные части вашего графика могут быть назначены на разные графические процессоры (и CPU). Вдохновленный Используя графические процессоры , вы должны иметь возможность сделать что-то вроде:
`with tf.device('/device:GPU:2'):`
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
`with tf.device('/device:GPU:1'):`
c = tf.matmul(a, b)
Ops и тензоры могут быть произвольно назначены для процессоров и графических процессоров (помните, конечно, что ваша производительность может значительно повлиять на необходимость перетасовки большого количества данных между различными аппаратными средствами).
Кроме того, Distributed Tensorflow позволяет назначать операторы и тензоры вокруг нескольких систем на сеть и заботится о сантехнике для вас.