1

Databricks からソファベース サーバー 4.5 への接続をセットアップしてから、N1QL クエリを実行しようとしています。

以下の scala コードは 1 つのレコードを返しますが、N1QL を導入すると失敗します。どんな助けでも大歓迎です。

    import com.couchbase.client.java.CouchbaseCluster;
    import scala.collection.JavaConversions._;

    import com.couchbase.client.java.query.Select.select;
    import com.couchbase.client.java.query.dsl.Expression;
    import com.couchbase.client.java.query.Query



    // Connect to a cluster on localhost
    val cluster = CouchbaseCluster.create("http://**************")

    // Open the default bucket
    val bucket = cluster.openBucket("travel-sample", "password");

    // Read it back out
    //val streamsense = bucket.get("airline_1004546") - Works and returns one record


  // Create a DataFrame with schema inference
    val ev = sql.read.couchbase(schemaFilter = EqualTo("type", "airline"))

    //Show the inferred schema
     ev.printSchema()

    //query using the data frame
    ev
      .select("id", "type")
      .show(10)


    //issue sql query for the same data (N1ql)
    val query = "SELECT type, meta().id  FROM `travel-sample` LIMIT 10"
    sc
      .couchbaseQuery(N1qlQuery.simple(query))
      .collect()
      .foreach(println)
4

2 に答える 2

1

N1QL クエリに構文エラーがあります。あなたが持っている:

val query = "SELECT type, id  FROM `travel-sample` WHERE LIMIT 10"

WHERE を削除するか、条件を追加する必要があります。

また、id を META().id に変更する必要があります。

于 2016-07-27T16:20:31.280 に答える