問題タブ [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 投票する
2 に答える
204 参照

scala - SchemaRDD からのスキーマ?

SchemaRDD(を使用してロードされた) が与えられた場合、SQLContext.parquetFileそのメタデータ/スキーマ/列のリストを抽出するにはどうすればよいですか?

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

apache-spark - Spark SQL のパフォーマンスが非常に悪い

SPARK SQL を使用したい。パフォーマンスが非常に悪いことがわかりました。

私の最初の解決策: 各 SQL クエリが来ると、データを hbase エンティティから dataRDD にロードし、この dataRDD を SQLcontext に登録します。最後に、spark SQL クエリを実行します。毎回データをロードする必要があるため、明らかにソリューションは非常に悪いです。

だから私は最初の解決策を改善しました。
私の 2 番目のソリューションでは、hbase データの更新と挿入を考慮しません
アプリの起動時に、現在のデータを から読み込みますHBASE entity to a dataRDD, named cachedDataRDD
cachedDataRDD を SQLcontext に登録
する 各 SQL クエリが来たら、spark SQL クエリを実行します。パフォーマンスはとても良いです。

ただし、エンティティによっては、更新と挿入を考慮する必要があります。
そこで、2 番目のソリューションに基づいてソリューションを変更しました。

私の 3 番目のソリューションでは、hbase データの更新と挿入を考慮する必要があります
アプリの起動時に、現在のデータを から読み込みますHBASE entity to a dataRDD, named cachedDataRDD
SQL クエリが来たら、ロードし、 cachedDataRDD を SQLcontext に登録しthe new updates and inserts data to another dataRDD, named newDataRDD.
ます 。最後に、spark SQL クエリを実行します。 しかし、ユニオン変換により、クエリ結果を取得するための収集アクションが非常に遅くなることがわかりました。hbase api クエリよりもはるかに遅い。set cachedDataRDD = cachedDataRDD.union(dataRDD);


3 番目のソリューションのパフォーマンスを調整する方法はありますか?
通常、spark SQL を使用するのにどのような条件が適していますか?
spark SQL を使用する良いユースケースはありますか?
ありがとう

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

apache-spark - CASE ステートメントの例

CASESpark SQL を使用したステートメントの正しい構文を特定するのを手伝ってもらえますか? 私は次のことを試しました:

circle有効な列名です。ただし、正しいアプローチを決定することはまだできません。

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

apache-spark - Spark SQL リサイクル サーバーはクラスター モードで実行できませんか?

Spark 1.2.0 で、クラスター モードで Spark SQL thrift サーバーを起動しようとすると、次の出力が表示されます。

「spark-internal」引数は、実行するクラスが Spark のライブラリの一部であることを spark-submit に伝えるための特別なフラグのように思われるため、jar を配布する必要はありません。しかし、何らかの理由で、これはここでは機能していないようです。

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

apache-spark - Apache Spark GraphX で HBASE 以外の構造化データの読み込みとクエリは可能ですか?

そこで、Pig XMLloader を使用して Vertex データと Edge データを表す 2 つの XML ファイルを Hadoop/HDFS にロードし、そこから Hive テーブルを作成しました。

この頂点とエッジのデータを使用して、Spark GraphX ベースのグラフ データベースを作成したいと考えています。Spark GraphX のドキュメントから、フラット ファイル ソースに加えて、HBASE テーブルを使用して Spark GraphX をソースできることを理解しました。Hive などの他の構造化されたビッグ データ ソースの使用に関する Spark GraphX のドキュメントは見つかりませんでした。

ただし、SparkSQL では、構造化データのソースとして Hive がサポートされています。JSON 構造化データも SparkSQL 内でサポートされています。

SparkSQL での Hive のサポートは、HiveContext を使用する Hive が Spark GraphX でネイティブにサポートされることも意味しますか? .jsonFile(name.json) をソースとして使用して VertexRDD を作成するための JSON ソース ファイルの使用についてはどうですか?

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

hive - cdh5.3クラスが見つからない糸でspark sqlを実行します

スタンドアロンモードでsparkを使用してspark-sqlを完全に実行できましたが、ヤーンモードになると、sparkはハイブクラス(org/apache/hadoop/hive/ql/plan/TableDescなどのいくつかの基本的なクラス)を見つけることができないと言いました.

そのため、compute-classpath.sh にハイブ ライブラリを追加しました。失敗した。次に、糸が機能せず、スタンドアロンが正常に機能するかどうかを考えました。たぶん、Hive lib を含めるように糸のクラスパスを変更する必要があります。

それから私は再び失敗しました。

ハイブ ライブラリがヤーン スタートアップ ログとスパーク出力で発生することを理解していないだけです。ハイブ sql が基本的なハイブ クラスが見つからないことを教えてくれたのはなぜですか?

私を助けてくれてありがとう

0 投票する
3 に答える
37161 参照

scala - `org.apache.spark.sql.Row` から情報を抽出します

までにArray[org.apache.spark.sql.Row]戻りましたsqc.sql(sqlcmd).collect():

個々の値を取得できます。

しかし、そうではAnyありませんInt

それらをどのように抽出しますIntか?

最も明白な解決策は機能しませんでした:

PS。pixels(0)(0).toString.toIntまたははできますpixels(0).getString(0).toIntが、彼らは間違っていると感じています...

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

sql - RangePartitioner の問題

以下のように 2 つのテーブルを結合しています。プログラムはログ行の下で停止し、先に進みません。

INFO SparkContext: ジョブの開始: Exchange.scala:79 の RangePartitioner

問題と考えられる解決策は何ですか? 問題は列の数ですか?任意の提案をいただければ幸いです。

テーブル 1 には 400 行と 450 列があります テーブル 2 には 1000 行と 100 列があります

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

apache-spark - Spark-sql CLI は、クエリの実行時に 1 つのエグゼキューターのみを使用します

spark-sql cli を使用して Hive cli シェルを置き換えます。次のコマンドで spark-sql cli を実行します (糸 Hadoop クラスターで使用しており、hive-site.xml は既に /conf にコピーされています)。

.> spark-sql その後、シェルが開かれ、正常に動作します。

そして、次のようなクエリを実行します。

./spark-sql>devicetype ごとに mytable グループから devicetype, count(*) を選択します。

コマンドは正常に実行され、正しい結果が得られます。しかし、パフォーマンスが非常に遅いことに気付きました。

spark ジョブの ui ( http://myhost:4040 ) から、使用済みとマークされた Executor が 1 つしかないことに気付きました。それが理由かもしれません。

そして、spark-sql スクリプトを変更して、exec コマンドに –num-executors 500 を追加しようとしましたが、役に立ちません。

誰でも助けて理由を説明できますか?

ありがとう。