問題タブ [word-count]
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.
programming-languages - ユニークな単語数
これは、(おそらく)高水準プログラミング言語に当てはまる一般的な質問です。状況は次のとおりです。
文字列の配列があるとします。たとえば、短編小説の500 000個の文字列を配列に入れることができました(入力形式のオプションがないとします)。その結果、重複するアイテムが任意の数になる可能性があります。
この文字列の配列を取得して、その配列の一意のサブセット(?)を含む別の配列を作成したいと思います(つまり、重複はありません)。このシナリオでは、入力と出力の両方が配列である必要があるため、さまざまなオプションが制限される可能性があります。
パフォーマンスに関して、これを達成するための最速の方法は何ですか?現在、線形検索を使用して単語がすでに存在するかどうかを確認していますが、線形検索であるため、特に処理する文字列の量が不当な場合は、より高速な方法があると思います。より大きな小説のように!
c - 発見されたバグがある場合、ワードカウントプログラムをテストする方法は?
古典的な C の教科書 K&R を再訪しました。演習 1-11 を読んでください。
文字カウント プログラムをどのようにテストしますか? バグがある場合、どのような種類の入力がバグを発見する可能性が最も高いですか?
実際には、既存の段落を手動でカウントして正確な単語数を取得し、それを単語カウント プログラムの計算結果と比較するという基本的なアイデアしかありません。
見逃したものはありますか?そして、テストの裏技とは?
編集
回答の要約:
単語のセマンティックな定義、いくつかの特殊なケース:
- リンクワード:「キャットウォーク」
- 小文字: a、b、c
- biiiiiiig words: "a fooooooooo<40MILLIONLETTERS>oooooo a" には 3 つの単語があります
境界条件:
- 単語間に複数のスペースがあるテキスト。
- 2GBを超えるテキスト
- ダッシュを含み、空白を含まない単語。
- ASCII 以外の単語。
- いくつかの異なるエンコーディングのファイル (プログラムがサポートしている場合)
- 空白で囲まれているが単語文字を含まない文字 (例: "hello - world")
- 言葉のないテキスト
- すべての単語が 1 行にあるテキスト
hadoop - Hadoop wordcount を実行できません - Hadoop エラー メッセージの解読についてサポートが必要です
仕事が失敗した理由を理解するための助けが必要です。試しに、単一ノード クラスタを構築しました。ここの例に従いました。
すべてが正しく機能しているようです。namenode をフォーマットし、Web インターフェイス経由で jobtracker、datanode、および namenode に接続できるようになりました。すべての Hadoop サービスを開始および停止できます。
ただし、wordcount
例を実行しようとすると、次のようになります。
ローカルファイルシステムにディレクトリを作成しました。
私も修正しましたcore-site.xml
:
namenode をフォーマットすると、ローカルと HDFS の両方にサブディレクトリが正常に作成されます。
失敗した出力の結果を見ると、wordcount
ファイル上の I/O エラーに関するエラー メッセージが表示されます。
/app/hadoop/tmp/mapred/local/ttprivate/taskTracker/hadoop/jobcache/
job_201105161023_0002/jobToken
トラブルシューティングを行っjobToken
たところ、ローカル ファイル システム上のこのファイルを参照できましたが、問題ありませんでした。内容はこんな感じHDTS MapReduce.job 201105161023_0002
それで、それは許可の問題ですか?Hadoop プロセスのユーザーがすべてのサブディレクトリに書き込みできるようにすると、ファイルを作成できました。では、他に何が間違っている可能性がありますか?
コマンドラインからのより詳細な出力:
objective-c - Objective-C: -[NSString wordCount]
NSString
の単語数を返す次のカテゴリ メソッドの簡単な実装は何ですかself
。単語は任意の数の連続するスペースまたは改行文字で区切られています。また、文字列は 140 文字未満になるため、この場合はパフォーマンスを少し犠牲にしてシンプルさと読みやすさを優先します。
次の解決策が見つかりました。
しかし、もっと簡単な方法はありませんか?
c++ - 単語数C++Hadoopパイプが機能しない
私はこのリンクが行う方法を説明しているようにC++でwordcountの例を実行しようとしています: C++でWordCountプログラムを実行します。コンパイルは正常に機能しますが、プログラムを実行しようとすると、エラーが表示されました:
bin / hadoop pipes -conf ../dev/word.xml -input testtile.txt -output wordcount-out
11/06/06 14:23:40 WARN mapred.JobClient:ジョブjarファイルが設定されていません。ユーザークラスが
見つからない可能性があります。JobConf(Class)またはJobConf#setJar(String)を参照してください。
11/06/06 14:23:40 INFO mapred.FileInputFormat:処理する入力パスの合計:1
11/06/06 14:23:40 INFO mapred.JobClient:実行中のジョブ:job_201106061207_0007
11/06/06 14:23: 41 INFO mapred.JobClient:map 0%reduce 0%
11/06/06 14:23:53 INFO mapred.JobClient:Task Id:attempt_201106061207_0007_m_000000_0、Status:FAILED
java.io.IOException
org.apache.hadoop.mapred.pipes.OutputHandler.waitForAuthentication(OutputHandler.java:188)at org.apache.hadoop.mapred.pipes.Application.waitForAuthentication(Application.java:194)at org.apache.hadoop.mapred .pipes.Application。(Application.java:149)at org.apache.hadoop.mapred.pipes.PipesMapRunner.run(PipesMapRunner.java:68)at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java: 435)org.apache.hadoop.mapred.MapTask.run(MapTask.java:371)at org.apache.hadoop.mapred.Child $ 4.run(Child.java:259)at java.security.AccessController.doPrivileged(ネイティブメソッド)at javax.security.auth.Subject.doAs(Subject.java:416)at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059)atorg.apache.hadoop.mapred.Child。main(Child.java:253)
try_201106061207_0007_m_000000_0:サーバーは認証に失敗しました。終了
2つのノードのFedoraでHadoopを実行しており、そのリンクからの構成の指示に従いました:マルチノードクラスターでのHadoopの実行。そのコマンドでHadoopの単語数の例を試しました:
bin / hadoop jar hadoop-examples-0.20.203.0.jar wordcount testtile.txtwordcount-out
そして、そのコマンドは正常に機能します。そのため、私のプログラムが機能しなかった理由がわかりません。ですから、誰かが私が間違っていることについて、または誰かがすでにこのエラーを解決しているかどうかについての考えを持っていることを願っています。
vba - すべての非ラテン文字を対応するラテン az に置き換え、VBA で単語数を数えます
次のようなスクリプトを VBA で作成しようとしています。
すべての É およびその他の類似の文字を対応するラテン文字に置き換えます。
英数字以外の
文字をすべて削除します。重複したスペースを削除
次に、文字列の単語数を数えます
「」で文字列を分割し、要素を数えて単語数を取得できることを解決しました...しかし、残りの部分で苦労しています。大変助かります。
jquery - 最大数のないJqueryワードカウンター
オプションがないjqueryの単語カウンターを提案できmaxcount
ますか?
私は多くのプラグインを探しましたが、それらすべてが最大単語数を制限しています。
textarea_id
2つのパラメーターを取り、textareaの単語数を表示するだけの関数が欲しいのですがspan_id_of_#ofwords
、プラグインを変更することはできますが、変更はしません。
ありがとう。
language-agnostic - Goの並列個別単語数
Jakob Østergaardはこの課題を提示しました。
標準入力からテキストを読み取り、テキスト内で見つかった個別の単語の総数を返す (出力する) プログラムを作成します。
並列プログラミングでこの課題にどのように対処できるでしょうか (Go が望ましいですが、英語での説明で十分です)。
jquery - jQueryのifステートメントの問題
jQueryの私のifステートメントはこのコードを壊しているようで、理由を理解できません:(ここにコードのビットがあります:
ifステートメントがなくても完全に機能します。しかし、条件を追加するとすぐに壊れて、#limitに何も表示されません。
ありがとう
hadoop - HadoopでCassandraWordCountを実行するとエラーが発生します:java.lang.NoSuchMethodError:org.apache.thrift.meta_data.FieldValueMetaData。(BZ)V
cassandraからWordCountの例を実行しようとすると、エラーが発生します。
スレッド「main」の例外java.lang.NoSuchMethodError:org.apache.thrift.meta_data.FieldValueMetaData。(BZ)V at org.apache.cassandra.thrift.SlicePredicate。(SlicePredicate.java:132)at WordCount.run(WordCount .java:199)at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)at WordCount.main(WordCount.java:74)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)atsun。 Reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at org.apache.hadoop .util.RunJar.main(RunJar.java:186)
前もって感謝します!