Spark DataFrameを作成します。型のスキーマを推論できません。<type 'float'> のスキーマを推測できません。
2023-09-30 13:15:45
質問
Spark DataFrameで発生したこの問題を解決するために、どなたか助けていただけないでしょうか?
私がするとき
myFloatRDD.toDF()
というエラーが出ます。
TypeError: Can not infer schema for type: type 'float'.
なぜなんでしょう...
例
myFloatRdd = sc.parallelize([1.0,2.0,3.0])
df = myFloatRdd.toDF()
ありがとうございます。
どのように解決するのですか?
SparkSession.createDataFrame
は、ボンネットの下で使用されるため、そのためには
RDD
/
list
の
Row
/
tuple
/
list
/
dict
* または
pandas.DataFrame
を持つスキーマでない限り
DataType
が提供されていなければならない。このようにfloatをtupleに変換してみましょう。
myFloatRdd.map(lambda x: (x, )).toDF()
あるいはさらに
from pyspark.sql import Row
row = Row("val") # Or some other column name
myFloatRdd.map(row).toDF()
を作成するために
DataFrame
を作るには、スカラーのリストから
SparkSession.createDataFrame
を直接使い、スキーマを提供しなければならない。
from pyspark.sql.types import FloatType
df = spark.createDataFrame([1.0, 2.0, 3.0], FloatType())
df.show()
## +-----+
## |value|
## +-----+
## | 1.0|
## | 2.0|
## | 3.0|
## +-----+
を使いますが,単純な範囲であれば
SparkSession.range
:
from pyspark.sql.functions import col
spark.range(1, 4).select(col("id").cast("double"))
* サポートは終了しています。
** Spark SQL は、Python オブジェクトのスキーマ推論を限定的にサポートします。
__dict__
.
*** Spark 2.0以降でのみサポートされています。
関連
-
[解決済み] super() は、新しいスタイルのクラスに対して "TypeError: must be type, not classobj" を送出する。
-
[解決済み] UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 20: ordinal not in range(128)
-
[解決済み] 億の相対的輸入
-
[解決済み] Pythonのsuper()は多重継承でどう動くのか?
-
[解決済み] ValueError: cannot reindex from a duplicate axis`とはどういう意味ですか?
-
[解決済み】Pandas DataframeのカラムでNaN値をゼロに置き換えるには?
-
[解決済み] 前月の日時オブジェクトを返す
-
[解決済み] PythonでのAWS Lambdaのインポートモジュールエラー
-
[解決済み] googletransがエラー 'NoneType' オブジェクトに 'group' 属性がない、と言って動かなくなった。
-
[解決済み] if 節の終了方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] SQLAlchemy: セッションの作成と再利用
-
[解決済み] Django のテストデータベースをメモリ上だけで動作させるには?
-
[解決済み] 小数点以下1桁を取得する[重複]。
-
[解決済み] なぜ(0-6)は-6=偽なのか?重複
-
[解決済み] Ctrl-CでPythonスクリプトを終了できない
-
[解決済み] あるオブジェクトが数であるかどうかを確認する、最もパイソン的な方法は何でしょうか?
-
[解決済み] matplotlib でプロットの軸、目盛、ラベルの色を変更する方法
-
[解決済み] virtualenvsはどこに作成するのですか?
-
[解決済み] あるメソッドが複数の引数のうち1つの引数で呼び出されたことを保証する
-
[解決済み] Alembicアップグレードスクリプトでインサートやアップデートを実行するにはどうすればよいですか?