2

列に異なるエントリを持つテーブルがあります (ただし、すべてを知っているわけではありません)。

table:    
column1 | column2
   x1   |    y1
   x1   |    y2
   x2   |    y2
   x3   |    y1
   x3   |    y2

今、最初の列のすべてのエントリがカウントされているリストまたは辞書を取得したい:

dict = (x1:2, x2:1, x3:2)

私は試した:

table = env.readCsvFile(tablepath).as('column1, 'column2)
var content = table.select('column1)
content.count()

そして、Word-Count の例linkを使用しようとしましたが、入力として文字列の配列が必要ですか?! それで

Wordcount(content) or Wordcount(content.toString()) 

動作しません。

4

1 に答える 1

2

各値のカウントcolumn1が必要な場合は、グループ化しcolumn1てカウントする必要があります。

table = env.readCsvFile(tablepath).as('column1, 'column2)
var content = table.groupBy('column1').select('column1.count)

への入力WordCountは、入力および出力ファイルまたはデータを指定します (使用されるメモリ内のサンプル データに 2 つの文字列、または何も期待されず、結果を に出力しますstdout)。ただし、パラメータは処理されるデータではありません。

于 2015-09-14T17:03:48.860 に答える