私は、PythonでSQLコンテキスト、すなわちpysparkを使用して、csvのデータフレームをpysparkデータフレームに変換する(df操作(前処理、列名の変更、新しい列の作成、それらを同じデータフレームに追加するなど)。私は単体テストケースを作成したいと思っています。私は、データフレームに単体のテストケースを書くことは考えていません。誰かがpysparkのデータフレームにユニットテストケースを書く方法を教えてもらえますか?または、データフレーム上のテストケースのソースを私に教えてください。Pysparkデータフレーム操作のユニットテストケース
1
A
答えて
2
データフレームは、pysparkの土地にあるものと何ら変わりません。 Python section of spark-testing-baseを見て始めてください。データフレームテストを含むいくつかの興味深いプロジェクトがありますので、どのようにそれを行うかを覗いてみることができます:Sparkling Pandasは1で、もう1つはexampleです。 find-sparkもあり、あなたのスパーク実行可能コンテキストを見つけるのに役立ちます。あなたのテストを開始する前に、しかし、基本的な考え方は正しくセットアップパスにある:
def add_pyspark_path():
"""
Add PySpark to the PYTHONPATH
Thanks go to this project: https://github.com/holdenk/sparklingpandas
"""
import sys
import os
try:
sys.path.append(os.path.join(os.environ['SPARK_HOME'], "python"))
sys.path.append(os.path.join(os.environ['SPARK_HOME'],
"python","lib","py4j-0.9-src.zip"))
except KeyError:
print "SPARK_HOME not set"
sys.exit(1)
add_pyspark_path() # Now we can import pyspark
、通常、あなたは一つの基地テストケースクラスを持っているでしょう:
import logging
from pyspark import SparkContext
from pyspark import SparkConf
from pyspark.sql import SQLContext, HiveContext
def quiet_py4j():
""" turn down spark logging for the test context """
logger = logging.getLogger('py4j')
logger.setLevel(logging.WARN)
class SparkTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
quiet_py4j()
# Setup a new spark context for each test
conf = SparkConf()
conf.set("spark.executor.memory","1g")
conf.set("spark.cores.max", "1")
#conf.set("spark.master", "spark://192.168.1.2:7077")
conf.set("spark.app.name", "nosetest")
cls.sc = SparkContext(conf=conf)
cls.sqlContext = HiveContext(cls.sc)
@classmethod
def tearDownClass(cls):
cls.sc.stop()
関連する問題
- 1. PySparkデータフレームの操作効率
- 2. 集計データフレームの操作後にPysparkフリーズ
- 3. PySparkファイル操作とデータ操作のエラー
- 4. Pythonを使ったpysparkデータフレームの転置操作
- 5. pyspark大行列操作
- 6. R:操作データフレーム
- 7. の操作Rデータフレーム
- 8. Pyspark:データフレーム
- 9. pysparkのデータフレームの行単位の操作または行ごとのUDF
- 10. pysparkデータフレームのフィルタリング
- 11. パンダのデータフレームの行操作
- 12. Pyspark:私は次のようなpysparkのデータフレームを持つpysparkのデータフレームから
- 13. pysparkデータフレーム列名
- 14. Pandasデータフレームでのキー操作
- 15. スキップ操作がパンダのデータフレーム
- 16. dict_valuesからpysparkデータフレームを作成する
- 17. PySpark - テキストファイルからデータフレームを作成する
- 18. pysparkデータフレームからmultidictを作成
- 19. pysparkでzipを操作する
- 20. pysparkによる数学的操作
- 21. pysparkでjdbc jarを操作する
- 22. データフレームを操作する
- 23. 再帰的データフレーム操作
- 24. Pysparkデータフレームを削除
- 25. PySparkデータフレームは、重複
- 26. 操作後のデータフレームに新しいデータフレームを作成する
- 27. pysparkデータフレームのcollect_setをフラットマップ
- 28. Zeppelin:pyspark.rdd.RDDをデータフレームに変換する(pysparkデータフレーム)
- 29. PySparkのデータフレームのパイプラインがpysparkのデータフレームを前処理した後MetastoreRelationエラー
- 30. 私が使用してPySparkのデータフレームを構築していpysparkのデータフレーム