問題タブ [twitter-util]
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-spark - Spark SQL: TwitterUtils ストリーミングが不明な理由で失敗する
私は最新の Spark マスターを使用しており、さらに、これらの jar をロードしています。 .jar
シェルで実行する簡単なテスト プログラムは次のようになります。
ただし、ツイートはしません。私が見る主なエラーは
そして、反復ごとに:
問題がどこにあるのかわかりません。Twitter の資格情報が正しく認識されていることを確認するにはどうすればよいですか? 別の瓶が不足している可能性がありますか?
java - BoxedUnit/void 戻り型に関連する Java-Scala 相互運用の問題
私はJava の相互運用性の問題と Scala ジェネリックとボクシング と同じ問題を抱えていますが、サードパーティのコードを変更する必要があるため、そこでの解決策がうまくいくとは思いません。
具体的には、Java (MyJavaClass など) から、それ自体がcom.twitter.app.Appを拡張する Scala クラス (MyScalaClass) を拡張しようとしています。アプリはcom.twitter.util.CloseAwaitablyを拡張し、これはcom.twitter.util.Awaitableを拡張します。
All that to say that when I finally get to extending MyScalaClass by writing MyJavaClass, I get
[ERROR] MyJavaClass.java:[11,8] MyJavaClass is not abstract and does not override abstract method result(com.twitter.util.Duration,com.twitter.util.Awaitable.CanAwait) in com.twitter.util.Awaitable
I figured I just have to implement result
for some reason, so I do, in MyJavaClass:
Now I get
[ERROR] return type void is not compatible with scala.runtime.BoxedUnit
Changing my method to
results in
[ERROR] return type scala.runtime.BoxedUnit is not compatible with void
なんてこった...それで、グーグルを始めます。ScalaジェネリックとボクシングによるJava相互運用性の問題への答えは、私の状況ではScalaがJavaと互換性のないバイトコードを生成し、Twitterクラスの一部を制御できれば問題を回避できると言っているようです(私はCloseAwaitablyと思います)ジェネリック化する元のメソッド実装で[U <: Unit]
、return ().asInstanceOf[U]
scalac をだまして「正確ではないユニット型」の可能性を認めさせます (ただし、これがどのように機能するかは完全にはわかりません)。
Twitter のクラスは制御できません。MyScalaClass と MyJavaClass だけです。メソッドについては実際には気にしません 。MyScalaClass で定義したいくつかの抽象メソッドを実装して、MyJavaClass から MyScalaClass を拡張できるようにしたいだけです。参考までに、私は Scala 2.10.4、JDK 1.8、および (twitter) util-core_2.10 6.22.0 を使用しています。最初の場所。MyScalaClass から継承する Scala クラスは、そのメソッドを実装する必要はなく、問題なくビルドされます。result
result
どうすればこれを回避できますか? 遊んでくれてありがとう。
scala - Scala Future に対する Twitter Future の利点は何ですか?
Scala Future がより優れたものになる理由はたくさんあります。代わりに Twitter Future を使用する理由はありますか? Finagleがそれを使用しているという事実を除いて。
scala - Scala Future と ExecutionContext の com.twitter.util.Local はありますか?
Future.map/Future.flatMap を介して値を保持する ThreadLocal のようなクラスは、ロギングなどのリクエストのトレースに非常に役立ちます。
そのようなローカルとして機能する Scala ライブラリに既存の抽象化はありますか?
そのような Local を ExecutionContext.global にアタッチする方法はありますか?
scala - 文字列を動的に解析し、リフレクションとインタープリターを使用して scala で関数を返す
文字列として与えられたコードを動的に解釈しようとしています。例えば:
そこから実際の関数を返すメソッドを探しています:例:
4を出力します
ユースケース: コードの後半で、解釈されたコードからいくつかの単純な関数を使用したいと考えています。たとえば、 def fun(x: Int): Int = x + 1 のようなものを文字列として提供できます。次に、インタープリターを使用してそのコードをコンパイル/実行し、この fun(x ) たとえば、マップ内。
問題は、関数の型がわからないことです。IMain からキャストバックする必要があるため、これは大きな問題の 1 つです。リフレクション、型システムなどについて読んだことがありますが、グーグルで調べた後、このポイントに到達しました。また、Twitter の util-eval をチェックしましたが、ドキュメントやテストの例からあまり多くを確認できませんでした。それはまったく同じことです。
タイプがわかれば、次のようなことができます
これは正しく動作し、3 を出力しますが、関数の型がわからないという上記の問題によってブロックされています。この例は、IMain の方法をテストするために文字列関数を定義したときに使用した型にキャストしたためだけに機能します。動作します。
この機能を実現する方法を知っていますか?
初心者ですので、書き間違い等ありましたらお許しください。
ありがとう
scala - Future は新しいスレッドを取得しますか?
以下のように実装された未来は新しいスレッドを取得しますか? どうやらそうではありません (以下の出力を参照)。なんで?コードを新しいスレッドで実行したい場合はどうすればよいですか?
出力:
(main,Thread[run-main-0,5,run-main-group-0])
(BeforeTest,Thread[run-main-0,5,run-main-group-0])
(AfterTest,Thread[run-main-0,5,run-main-group-0])
成功の未来
(main123,Thread[run-main-0,5,run-main-group-0])