問題タブ [presto]
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.
presto - presto コネクタ mysql のファクトリがありません
github から presto をクローンして、プロジェクトをビルドします。しかし、PrestoServer を実行しようとすると、java.lang.IllegalArgumentException: No factory for connector mysql として例外がスローされました。詳細な出力は次のとおりです。
2014-12-10T16:48:31.617+0800 INFO メイン org.eclipse.jetty.util.log ロギング初期化 @12338ms 2014-12-10T16:48:32.117+0800 警告 メイン io.airlift.jmx.JmxAgent JMX かどうかを判断できませんエージェントはすでに実行されています (Oracle JVM ではありませんか?)。手動で開始しようとします。2014-12-10T16:48:33.024+0800
INFO main io.airlift.jmx.JmxAgent JMX エージェントが開始され、lin-virtual-machine:35776 でリッスンしています 2014-12-10T16:48:34.073+0800 ERROR Discovery-0 io。 airlift.discovery.client.CachingServiceSelector 更新のために検出サーバーに接続できません (コレクター/一般): http://myhost.com:8080/v1/service/collector/generalのコレクターの検索に失敗しました 2014-12-10T16:48:34.112+0800 ERROR Discovery-2 io.airlift.discovery.client.CachingServiceSelector 更新のために検出サーバーに接続できません (presto/general): http://myhost.com の presto のルックアップに失敗しました: 8080/v1/service/presto/general 2014-12-10T16:48:46.273+0800
INFO メイン org.eclipse.jetty.server.Server jetty-9.2.z-SNAPSHOT 2014-12-10T16:48:46.288+0800
警告main org.eclipse.jetty.server.handler.AbstractHandler org.eclipse.jetty.server.handler.ErrorHandler@4f6a5cc9 のサーバーが設定されていません 2014-12-10T16:48:55.883+0800
INFO main org.eclipse.jetty.server. handler.ContextHandler 開始 oejsServletContextHandler@420dde28{/,null,AVAILABLE,@http} 2014-12-10T16:48:56.001+0800
INFO メイン org.eclipse.jetty.server.ServerConnector 開始 http@712213ed{HTTP/1.1}{0.0.0.0:8080} 2014-12-10T16:48:56.002+0800
INFO メイン org.eclipse.jetty.server.Server 開始@ 36725ms 2014-12-10T16:48:57.102+0800
INFO Discovery-3 io.airlift.discovery.client.CachingServiceSelector ディスカバリー サーバー接続が更新に成功しました (コレクター/一般) 2014-12-10T16:48:57.116+0800
INFO ディスカバリー-0 io.airlift.discovery.client.CachingServiceSelector Discovery server connect successfully for refresh (presto/general) 2014-12-10T16:48:57.958+0800
INFO main io.airlift.bootstrap.LifeCycleManager ライフサイクル開始中... 2014- 12-10T16:48:57.958+0800
INFO main io.airlift.bootstrap.LifeCycleManager ライフサイクルの起動が完了しました。システム準備完了。2014-12-10T16:48:57.959+0800
INFO main com.facebook.presto.metadata.CatalogManager -- カタログを読み込んでいます /home/lin/presto-server-0.86/etc/catalog/mysql.properties --2014-12-10T16:48:57.973+0800 ERROR main com.facebook.presto.server.PrestoServer コネクタ mysql のファクトリがありません(Preconditions.java:145) ~[jar:rsrc:guava-18.0.jar!/:na] com.facebook.presto.connector.ConnectorManager.createConnection(ConnectorManager.java:97) で ~[rsrc:./:na] ] com.facebook.presto.metadata.CatalogManager.loadCatalog(CatalogManager.java:88) で ~[rsrc:./:na] com.facebook.presto.metadata.CatalogManager.loadCatalogs(CatalogManager.java:70) で ~[ rsrc:./:na] at com.facebook.presto.server.PrestoServer.run(PrestoServer.java:108) [rsrc:./:na] at com.facebook.presto.server.PrestoServer.main(PrestoServer.java) :60) [rsrc:./:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ) ~[na:1.8.0_25] at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_25] at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader) .java:58) [プレスト-main.jar:na] 2014-12-10T16:48:57.977+0800メイン (JarRsrcLoader.java:58) [プレスト-main.jar:na] 2014-12-10T16:48:57.977+0800メイン (JarRsrcLoader.java:58) [プレスト-main.jar:na] 2014-12-10T16:48:57.977+0800
INFO Thread-142 io.airlift.bootstrap.LifeCycleManager ライフサイクルが停止しています...
hadoop - Presto から Cassandra を使用できない
presto 0.76、Cassandra 2.1.2 をセットアップし、mykeyspace
それにテーブルを作成しました。Cassandra デーモンと Presto デーモンの両方を開始しました。presto CLI を使用して Cassandra にクエリを実行しようとすると、返されます
presto:mykeyspace> select * from userinfo;
Query 20141216_181006_00021_me4u4 failed: replicate_on_write is not a column defined in this metadata
では、それを乗り越える方法はありますか?
json - Presto JSON 関数でフィールド名に「~」を含む json フィールドにアクセスする方法
「~id」など、json フィールドに「~」があります。Presto 0.75 を使用すると、そのようなフィールドにアクセスできません。以下は、これまでに成功せずに試したことです。
SELECT json_extract_scalar('{"id":"1","table":"test"}', '$.table'); //これは機能します
SELECT json_extract_scalar('{"id":"1","~table":"test"}', '$.[\"~table\"]'); // 機能しません
SELECT json_extract_scalar('{"id":"1","~table":"test"}', '$.[\~table]'); // 機能しません
表示されるエラーは「無効な JSON パス:」です。
java - Presto と Hive の接続の問題: 読み取りタイムアウト例外
CDH5 Hadoop で presto 0.89 を使用しています。メタストアに mysql を使用する Hive の場合。
これが私の構成です:
hive.properties
ここにconfig.propertiesがあります
エラーメッセージ:
hadoop - Presto - クエリ ... 利用可能なワーカー ノードがありません
Amazon EMR、Hive .13、Hadoop 2.x、Presto Server 0.89 を使用。通常は Hive を介してクエリされるデータをクエリするように Presto を設定しようとしています。Hive メタデータは MySQL に保存されます。Presto Server がすべてのノードにセットアップされてインストールされます。ほとんどの場合、すべて prestodb.io に記載されているとおりに設定されています。
最初にすべてのノード (コーディネーターとワーカー) でサーバーを起動し、次にコーディネーター/名前ノードで CLI を起動します。以下のコマンドを使用してクエリを実行しようとすると、"Query ... No worker nodes available" エラーが発生します。
node-scheduler.include-coordinator=true
コーディネーターの config.properties ファイルにを含めると、このクエリから 1 つのノードが返されます。
構成:
etc/config.properties (コーディネーターのみ)
etc/config.properties (ワーカーのみ)
etc/catalog/hive.properties (すべてのノード)
etc/catalog/jmx.properties (すべてのノード)
etc/jvm.config (すべてのノード)
etc/log.properties
etc/node.properties
cassandra - Presto Cassandra コネクタ クラスタリング インデックス
CQL実行[クラスタリングキーインデックスを使用すると仮定すると、すぐに戻ります]:
Presto 実行 [約 8 秒かかります]:
cassandra 自体が同じクエリに対して 5447 行しか応答しないのに、なぜ presto は 147K 行を処理する必要があるのでしょうか [select * も試しました]。
presto がクラスタリング キーの最適化を使用できないのはなぜですか?
タイムスタンプ、日付、さまざまな形式の日付など、考えられるすべての値を試しました。フェッチされる行数への影響は確認できません。
CF 参照:
Dainの回答に応じて、event_timestampも制約として追加しました