CARVIEW |
Select Language
HTTP/2 200
date: Sun, 27 Jul 2025 21:33:42 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-robots-tag: none
etag: W/"ccb227856baed070ee697ab035732a34"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=5Kzx5ZgYARQxbdlsovEkLV1LcHb%2B4eJnJGOQ%2FxeyX4zjzLhYdLucildzbmZ%2BLPf8Q0DV7dTl310xS1R0ACbV6B0QqNcharVGs0k48R0VpwZ45YUUgHQcz37%2BXrAOqk0Ipu6kNUHJzT3ZhhhJ8l1z1A6WqxRFZlyufZYpI6X%2F2%2F%2BTv7mylQYax1J6cXyHsXfBx50Pp0pCyYEDaxHHEqDWaWNJsgImfBcm%2BqgHMBkHdYIMqchylIm22Rv%2F3Wa6rxQkjiNj7thP99hhSmNJfK%2BxiQ%3D%3D--xdy8w37FxycnS49S--Yqm9wYnC%2F1Bdq%2BFMwbZEhA%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.532475813.1753652022; Path=/; Domain=github.com; Expires=Mon, 27 Jul 2026 21:33:42 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Mon, 27 Jul 2026 21:33:42 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: B234:2CB2E7:11C08A7:1752CC1:68869B36
HDFSCluster · holdenk/spark-testing-base Wiki · GitHub
Skip to content
Navigation Menu
{{ message }}
-
-
Notifications
You must be signed in to change notification settings - Fork 356
HDFSCluster
Mahmoud Hanafy edited this page Mar 3, 2020
·
1 revision
Gives you the ability to simulate working with HDFS on your local tests.
Make sure you start the HDFSCluster
before all tests and to shut it down after executing all tests.
Example:
class HDFSClusterTest extends FunSuite with SharedSparkContext with RDDComparisons {
var hdfsCluster: HDFSCluster = null
override def beforeAll(): Unit = {
super.beforeAll()
hdfsCluster = new HDFSCluster
hdfsCluster.startHDFS()
}
test("get the namenode uri") {
val nameNodeURI = hdfsCluster.getNameNodeURI()
assert(nameNodeURI == "hdfs://localhost:8020")
}
test("read and write from spark to hdfs") {
val list = List(1, 2, 3, 4, 5)
val numRDD: RDD[Int] = sc.parallelize(list)
val path = hdfsCluster.getNameNodeURI() + "/myRDD"
numRDD.saveAsTextFile(path)
val loadedRDD: RDD[Int] = sc.textFile(path).map(_.toInt)
assertRDDEquals(numRDD, loadedRDD)
}
test("test creating local file to hdfs") {
val path = new Path(hdfsCluster.getNameNodeURI() + "/myfile")
val fs = FileSystem.get(path.toUri, new Configuration())
val writer = new BufferedWriter(new OutputStreamWriter(fs.create(path)))
val writtenString = "hello, it's me"
writer.write(writtenString)
writer.close()
val reader = new BufferedReader(new InputStreamReader(fs.open(path)))
val readString = reader.readLine()
reader.close()
assert(writtenString == readString)
}
override def afterAll() {
hdfsCluster.shutdownHDFS()
super.afterAll()
}
}
You can’t perform that action at this time.