問題タブ [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.
scala - SchemaRDD からのスキーマ?
SchemaRDD
(を使用してロードされた) が与えられた場合、SQLContext.parquetFile
そのメタデータ/スキーマ/列のリストを抽出するにはどうすればよいですか?
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 を使用する良いユースケースはありますか?
ありがとう
apache-spark - CASE ステートメントの例
CASE
Spark SQL を使用したステートメントの正しい構文を特定するのを手伝ってもらえますか? 私は次のことを試しました:
はcircle
有効な列名です。ただし、正しいアプローチを決定することはまだできません。
apache-spark - Spark SQL リサイクル サーバーはクラスター モードで実行できませんか?
Spark 1.2.0 で、クラスター モードで Spark SQL thrift サーバーを起動しようとすると、次の出力が表示されます。
「spark-internal」引数は、実行するクラスが Spark のライブラリの一部であることを spark-submit に伝えるための特別なフラグのように思われるため、jar を配布する必要はありません。しかし、何らかの理由で、これはここでは機能していないようです。
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 ソース ファイルの使用についてはどうですか?
hive - cdh5.3クラスが見つからない糸でspark sqlを実行します
スタンドアロンモードでsparkを使用してspark-sqlを完全に実行できましたが、ヤーンモードになると、sparkはハイブクラス(org/apache/hadoop/hive/ql/plan/TableDescなどのいくつかの基本的なクラス)を見つけることができないと言いました.
そのため、compute-classpath.sh にハイブ ライブラリを追加しました。失敗した。次に、糸が機能せず、スタンドアロンが正常に機能するかどうかを考えました。たぶん、Hive lib を含めるように糸のクラスパスを変更する必要があります。
それから私は再び失敗しました。
ハイブ ライブラリがヤーン スタートアップ ログとスパーク出力で発生することを理解していないだけです。ハイブ sql が基本的なハイブ クラスが見つからないことを教えてくれたのはなぜですか?
私を助けてくれてありがとう
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
が、彼らは間違っていると感じています...
sql - RangePartitioner の問題
以下のように 2 つのテーブルを結合しています。プログラムはログ行の下で停止し、先に進みません。
INFO SparkContext: ジョブの開始: Exchange.scala:79 の RangePartitioner
問題と考えられる解決策は何ですか? 問題は列の数ですか?任意の提案をいただければ幸いです。
テーブル 1 には 400 行と 450 列があります テーブル 2 には 1000 行と 100 列があります
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 を追加しようとしましたが、役に立ちません。
誰でも助けて理由を説明できますか?
ありがとう。