Мне нужно прочитать двоичный файл в потоке данных Google, мне просто нужно прочитать файл и проанализировать каждые 64 байта как одну запись и применить некоторую логику в каждом байте каждого 64 байта двоичного файла в потоке данных.
то же самое, что я пробовал в спарк, код smape, как показано ниже:
def main(args: Array[String]): Unit = {
val spark = SparkSession
.builder()
.appName("RecordSplit")
.master("local[*]")
.getOrCreate()
val df = spark.sparkContext.binaryRecords("< binary-file-path>", 64)
val Table = df.map(rec => {
val c1= (convertHexToString(rec(0)))
val c2= convertBinaryToInt16(rec, 48)
val c3= rec(59)
val c4= convertHexToString(rec(50)) match {
case str =>
if (str.startsWith("c"))
2020 + str.substring(1).toInt
else if (str.startsWith("b"))
2010 + str.substring(1).toInt
else if (str.startsWith("b"))
2000 + str.substring(1).toInt
case _ => 1920
}