2017-01-25 7 views
0

Введение:просмотр результатов Синтаксический из CouchDB в Спарк/Scala

У меня есть вид: выдержано работает в моей локальной (http://127.0.0.1:5984/sample/_design/view/_view/data)

Вход:

Результаты работы видны следующие:

{"total_rows":3,"offset":0,"rows":[ 
{"id":"1","key":["2032","0"],"value":{"context":"2032","application_id":"2412"}}, 
{"id":"21","key":["214","0"],"value":{"context":"1312","application_id":"4242"}} 
]} 

Цель:

Я хотел разобрать это искры, и, таким образом, я написал следующий код

Код:

// For implicit conversions like converting RDDs to DataFrames 
import spark.implicits._ 

// SQL context 
import org.apache.spark.sql.SparkSession 

// Importing CouchDB Connector (made by my someone in our office) 
import com.artoo.spark.connector.couch.CouchConnectorCore 

// JSON parser 
import org.json4s.native.JsonMethods._ 


val connector = new CouchConnectorCore("http://127.0.0.1:5984/sample/_design/view/_view/data?since=0&limit=10", "0", 10) 
connector.start()  

// getting data 
val json = connector.getData 

// printing results 
println(json) 

// parse son 
val parsed_json = parse(json) 

Проблема:

val parsed_json = parse(json) 

error: overloaded method value parse with alternatives: 
    (in: org.json4s.JsonInput,useBigDecimalForDouble: Boolean,useBigIntForLong: Boolean)org.json4s.JValue <and> 
    (in: org.json4s.JsonInput,useBigDecimalForDouble: Boolean)org.json4s.JValue 
cannot be applied to (String) 
     val parsed_json = parse(json) 

PS:

Вещь работать нормально до, "Println (JSON)", его выход такой же, как "Вход", показанной выше

Запуск на Спарк 2.1.0 с Hadoop 2.7, версия 2.11.8 Скала на OSX

ответ

1

Я столкнулся с этим и решил его, добавив второй аргумент useBigDecimalForDouble.

val parsed_json = parse(json, true) 

 Смежные вопросы

  • Нет связанных вопросов^_^