問題タブ [apache-calcite]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache-calcite - apache calcite、jdbc api を使用しないクエリ
jdbc 接続を使用せずに apache calcite api raw を使用したいと思います。jdbc API は問題なく使用できますが、API を使用しようとすると null ptr 例外が発生します。私がこれまでに行ったことは次のとおりです。
しかし、これを実行すると
MyDataContext name=v0stashed
コンテキストから v0stashed を取得しようとしていることに注意してください。これはどうあるべきかわかりません。私が目にする唯一の CalcitePrepare.Context impl は、使用を避けようとしている CalciteConnection を使用するものです。また、方解石のドキュメントからコードのスニペットを取得しましたが、方解石 1.7 では古くなっています。
アイデア?
java - apache calciteは列名とテーブル名を区別します
SQL ステートメントで列名を変更する (テーブル名はそのままにする) シンプルなアプリを実装しています。ステートメントは として渡され、String
変更されたものも として返されString
ます。データベース接続は関係ありません。
これを実現するために、Apache Calcite の SQL パーサーを使用しています。SQL 文字列を に解析し、名前を変更した を作成する をSqlNode
受け入れ、すべてを( を使用して) に書き戻します。SqlVisitor
SqlNode
String
SqlNode.toSqlString()
SqlNode
問題は、を受け入れながら、解析されたオブジェクトの列とテーブルの違いを見分ける方法がわからないことSqlVisitor
です。どちらも として表されSqlIdentifier
、同じ を持ちSqlKind
ます。したがって、が にSqlVisitor
アクセスするSqlIdentifier
と、それが列であろうとテーブルであろうと名前が変更されます。
例えば
に変更されます
SqlIdentifier
与えられたものが列かテーブルかをどうやって見分けることができますか?
java - Mavenに特定のパッケージの2つの異なるバージョンをインストールするには?
私は 2 つの異なる DB に接続しており、それらの JDBC クライアントはどちらもパッケージを必要としorg.apache.calcite.avatica
、1 つはバージョン 1.6 を使用し、もう 1 つはバージョン 1.8 を使用しているため、両方のバージョン (1.6 と 1.8) をインストールする必要があり、バージョンは1.8 はバージョン 1.6 と互換性がありません。1.6 ではなくバージョン 1.8 を使用している場合、次の例外がスローされました。
そして、Mavenはそのように使用するようには設計されていないようです。
では、この問題を解決するにはどうすればよいでしょうか。
apache-calcite - アプリケーションで方解石 cassandra アダプターを使用する方法
Javaコードの方解石cassandraアダプタに関する例はありますか? 方解石サイトには sqlline の例しかありません。どうもありがとう
kylin - Kylin - ロールアップとキューブによるグループ化
ROLLUP および CUBE 演算子を使用して、サンプル キューブを使用してデータを集計しようとしています。クエリを実行すると、次のエラー メッセージが返されます。
内部エラー: ルール OLAPAggregateRule の適用中にエラーが発生しました。args [rel#1246:LogicalAggregate.NONE.[](input=rel#1245:Subset#1.NONE.[],group={0, 1},groups=[{0 , 1}, {0}, {}],indicator=true,SUMOFPRICE=SUM($2))].
http://calcite.apache.org/docs/reference.htmlのドキュメントを使用してクエリを作成しています。
テスト クエリ:
キューブを使用しない単純なクエリ
a, b, sum(c) from (values (1, 2, 3, 4)) as t(a, b, c, d) group by rollup(a, b)
このクエリは期待される結果を返します
ROLLUP 演算子を使用した KYLIN_SALES テーブルを使用したクエリ
ロールアップ(seller_id、leaf_categ_id)によってkylin_salesグループからSumOfPriceとしてseller_id、leaf_categ_id、sum(price)を選択します
このクエリを実行すると、質問の冒頭で述べたエラーが返されます。
java - CSV を使用して Calcite でストリーミングの例を作成する
データソースに CSV を使用して Calcite で基本的なストリーム プログラムを作成しようとしています。sqlline でクエリを実行できますが、プログラムで実行できません。私のコードは次のとおりです。
example.json
SORDERS.csv
SimpleQuery.java
最後に、calcite-core 1.8.0、net.sf.opencsv 2.3、calcite-avatica 1.6.0、calcite-linq4j 1.8.0、sqlline 1.1.9、hamcrest-core 1.3、com.github.stephenc.jcip の依存関係があります。 1.0-1 、commons-lang3 3.4、guava 19.0、およびインポートされた calcite-example-csv-1.9.0-SNAPSHOT (github バージョンの maven でパックしました)。
コードを実行しようとすると、次のようになります。
それを修正する方法についてのアイデアはありますか?
sql-server - SQLサーバーに接続するCalcite
SQLサーバーに接続するためにCalciteを試しています。person テーブルからデータを取得するための非常に単純な例を実行しようとしています。
スキーマを使用しているコードは次のとおりです。
メインコードはこちら
SQLサーバーの設定はこんな感じ。サーバー - SPG DB - 部門スキーマ - dbo
問題:
- テーブルが見つからないため、スキーマを読み取っていないようです。
- リアルタイム SQL は多くの結合でより複雑になるため、方解石でのスキーマ作成を理解したいと思います。
- SQLサーバーに接続する最良の方法は何ですか. 正しい方向のコードの上にあります。
前もって感謝します。
リシ