問題タブ [apache-spark-sql]

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.

0 投票する
4 に答える
15786 参照

scala - Hive テーブルから Spark にデータをフェッチし、RDD で結合を実行する

ハイブ/インパラに2つのテーブルがあります。テーブルからデータをrddsとしてsparkにフェッチし、結合操作を実行したいと考えています。

ハイブ コンテキストで結合クエリを直接渡したくありません。これはほんの一例です。標準の HiveQL では不可能なユースケースが他にもあります。すべての行をフェッチし、列にアクセスして変換を実行するにはどうすればよいですか。

2 つの rdds があるとします。

「account_id」という列のrddsで結合を実行したい

理想的には、spark シェルを使用して rdds を使用して、このようなことをしたいと考えています。

0 投票する
2 に答える
8004 参照

scala - Spark SQL: csv からの自動スキーマ

spark sql は csv データを自動的にロードする方法を提供しますか? 次の Jira を見つけました: https://issues.apache.org/jira/browse/SPARK-2360しかし、閉じられていました....

現在、次のように csv ファイルをロードします。

csv ファイルからの自動スキーマ推定に関するヒントはありますか? 具体的には、a) スキーマを表すクラスを生成するにはどうすればよいですか? b) 自動的に入力するにはどうすればよいですか (つまり、Record(r(0),r(1), .....))?

更新: ここでスキーマ生成に対する部分的な回答を見つけました: http://spark.apache.org/docs/1.1.0/sql-programming-guide.html#data-sources

したがって、残された唯一の問題は map(p => Row(p(0), p(1).trim))、指定された数の属性に対して動的にステップを実行する方法でしょうか?

ご協力ありがとうございました!ヨルグ

0 投票する
1 に答える
270 参照

scala - Spark SQL での SpecificMutableRow の利点は何ですか?

コメントからそれは思われる:

値が変更されたときに再利用される、変更可能なコンテナ オブジェクトの親クラスで、ゴミが少なくなります。

各列の dataTypes に基づいて選択された、MutableValue 型の特殊なコンテナー オブジェクトの配列を保持する行の型。その意図は、プリミティブ列の値を変更するときにガベージを減らすことです。

ソース - https://github.com/apache/spark/blob/master/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/SpecificMutableRow.scala

それがどのように効率的であるかを誰かが説明できますか?ボクシングを避けるだけで十分ですか?

0 投票する
4 に答える
12516 参照

scala - SparkSQL タイムスタンプ クエリの失敗

Spark を介していくつかのログ ファイルを SQL テーブルに配置すると、スキーマは次のようになります。

お気づきのように、私が読んだタイムスタンプ フィールドは Spark でサポートされています (私が理解している限り、日付は機能しません)。「where timestamp>(2012-10-08 16:10:36.0)」のようなクエリに使用したいのですが、実行するとエラーが発生し続けます。次の 2 つのシンタックス フォームを試しました。parsedate2timestampの2 つの関数を使用します。

タイムスタンプ値の処理方法に関するヒントはありますか?

ありがとう!

1) scala> sqlContext.sql("SELECT * FROM Logs as l where l.timestamp=(2012-10-08 16:10:36.0)").collect

2) sqlContext.sql("SELECT * FROM Logs as l where l.timestamp="+date2timestamp(formatTime3.parse("2012-10-08 16:10:36.0"))).collect

0 投票する
4 に答える
12822 参照

apache-spark - Thrift サーバーを介して Spark SQL RDD テーブルにアクセスする

[このセクション]で説明されているように、Spark SQL に一時テーブルを登録しました。

ここで、JDBC を介してこのテーブルにリモートでアクセスしたいと考えています。[この別のセクション]で説明されているように、Thrift サーバーを起動します。

しかし、テーブルは表示されません。

SqlContextこれは、テーブルが「一時的」(つまり、オブジェクトの存続期間に関連付けられている) であるためだと思います。しかし、非一時テーブルを作成するにはどうすればよいでしょうか?

Thrift サーバーを介してHive テーブルを表示できますが、このような RDD を公開する方法がわかりません。できないことを示唆するコメントを見つけました。

それとも、独自のアプリケーションで Thrift Server を実行する必要がありますSqlContextか? その周りのほとんどすべてのクラスはprivateであり、このコードは Maven Central にはありません (私が見る限り)。私は使用することになっていますHiveThriftServer2.startWithContextか?文書化されて@DeveloperApiいませんが、機能する可能性があります。

0 投票する
2 に答える
1762 参照

apache-spark-sql - Spark SQL: 未解決の属性

SQL の結果でカウントを読み取ろうとすると、次のエラーが表示されます。

エラー:

私が使用しているコードは次のとおりです。

私は Spark 1.1.0 を使用しており、プログラムをローカルで実行しています。