問題タブ [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 - Scala を使用して Spark でリストまたは配列から行を作成する方法
org.apache.spark.sql.catalyst.expressions.Row
ユーザー入力に基づいて行 () を作成しようとしています。行をランダムに作成できません。
またはから行を作成する機能はありますList
かArray
。
たとえば.csv
、次の形式のファイルがある場合、
ユーザー入力の場合、最初の列である[1, 2]
2 列目と 3 列目のみを取得する必要がありますcustomer_id
私はコードでそれを解析しようとします:
ここで、foo は次のように定義されます。
入力はリストです
このコードを実行すると、l3 が次のように取得されます。
しかし、私が欲しいのは:
これは、Spark SQL でスキーマを作成するために渡す必要があります
apache-spark-sql - ジョブのファイル読み取り時間を計算するには?
私はspark-shellでspark sqlジョブを実行していました。ジョブは寄木細工のファイルからテーブルを作成します。
ドライバー ノードの Web UI には、タスクの多くのメトリックがあります。
期間 / スケジューラの遅延 / タスクのデシリアライズ時間 / GC 時間 / 結果のシリアライズ時間 / 結果の取得時間 / 書き込み時間
ディスクから寄木細工のブロックを読み取るのに実際にどれくらいの時間が費やされたかを知りたいです (逆シリアル化、タプルの再構築、シャッフル書き込みなどの時間は含まれません)。
どのように計算すればよいですか?は
読み取り時間=期間 - スケジューラの遅延 - タスクの逆シリアル化時間 - GC 時間 - 結果のシリアル化時間 - 結果の取得時間 - 書き込み時間 ?
ありがとう、
scala - Scala DataFrame の行を最も効率的にケース クラスに変換する方法は?
Spark で Dataframe または Catalyst の Row クラスを取得したら、それをコード内のケース クラスに変換したいと考えています。これはマッチングでできる
しかし、行に膨大な数の列がある場合、たとえば数十個の Double、いくつかの Boolean、さらには null が含まれていると、見苦しくなります。
申し訳ありませんが、Row を myCaseClass にキャストできるようにしたいと思います。それは可能ですか、それとも私はすでに最も経済的な構文を手に入れましたか?
cassandra - Spark SQL Cassandra タイムスタンプの空の値を処理する方法は?
現在、Spark 1.2.0 コネクタを備えた Apache Cassandra 2.1.2 クラスターを使用しています。いくつかの初期テストでは、spark-shell 内の Spark SQL コマンドを使用して、Cassandra テーブルからいくつかの行を選択する必要があります。
キースペースksでtabletestというテーブルを使用します。このテーブルには、たとえばid (bigint)とts (timestamp)が含まれています。
ここに私のスパークスクリプトがあります:
コマンドを使用してこのスクリプトを実行すると:
行に ts セルの空の値が含まれるまで、すべて問題ありません。ts の値が空の行がある場合、spark が長い値 (8 バイト) を待機し、バイトを取得しないという事実に関連するいくつかの例外が発生しました。行を表示せずに行数を数えようとしても、同じ問題が発生しました。
このような空の値をどのように処理できますか?SQL クエリ内でいくつかの関数を使用して空の値をデフォルト値に置き換える必要がありますか?それとも、スクリプトでいくつかのメソッドまたはパラメーターを使用して、spark がそのような空の値を処理できるようにすることができますか?
ご協力いただきありがとうございます、
一番
ニコラス
hive - JDBC インターフェイスを介して SchemaRDD で SQL を有効にする方法は? (それは可能ですか?)
問題文の更新
spark 1.2.0 (Hadoop 2.4) を使用しています。HDFS のデータ ファイルを使用して SchemaRDD を定義し、HiveServer2 を介してこれらをテーブルとしてクエリできるようにしたいと考えています。saveAsTable の試行中に実行時例外が発生しました。続行する方法についてのガイダンスが必要です。
ソースコード:
spark-submit コマンド:
ノードでの実行時の例外:
別の試み:
ノードの例外:
apache-spark - spark sqlクエリの結果をオブジェクトにマップする方法は?
私が知っているように、MyBatis は非常に優れています。jdbc の結果をオブジェクトにマップできます。spark sqlクエリの結果について、sparkクエリの結果をオブジェクトにマップする良い方法はありますか? ありがとう
java - Spark から Postgres への分析データの挿入
Cassandra データベースがあり、そこから Apache Spark を介して SparkSQL を使用してデータを分析しました。次に、分析したデータを PostgreSQL に挿入します。PostgreSQL ドライバーを使用する以外に直接これを達成する方法はありますか (私は postREST と Driver を使用してそれを達成しましたsaveToCassandra()
。
sql - 複合型を使用した Spark SQL DataFrame のクエリ
マップ/配列などの複雑な型で RDD をクエリするにはどうすればよいですか? たとえば、このテスト コードを書いていたとき:
構文は次のようになると思いました。
また
しかし、私は得る
タイプ MapType(StringType,StringType,true) のネストされたフィールドにアクセスできません
と
org.apache.spark.sql.catalyst.errors.package$TreeNodeException: 未解決の属性
それぞれ。
apache-spark - PySpark での reduce の適切な入力
spark を使用して一部のデータを離散化しようとしています。
次の形式のデータがあります。
次に、次のコードがあります。
次に、離散化する関数があります。
この結果列を取得し、後で元のデータ セットと結合します。
このステートメントを使用してアクションを実行しようとしています:
基本的に、((年、月)、行全体) のタプルが必要なので、月と年の組み合わせごとに 75 パーセンタイルを見つけることができます。
マップ部分を正常に動作させることができます。reduce 部分を取り除くと、コードが機能するようになります。
map と reduce の両方でステートメントを実行すると、次のエラーが発生します。
何が間違っているのかわかりません。おそらく、キーと値のペアを生成する方法と関係がありますか?