0
나는이다른 데이터 프레임 헤더로 데이터 프레임의 헤더를 변경하는 방법은 무엇입니까?
LineItem.organizationId|^|LineItem.lineItemId|^|StatementTypeCode|^|LineItemName|^|LocalLanguageLabel|^|FinancialConceptLocal|^|FinancialConceptGlobal|^|IsDimensional|^|InstrumentId|^|LineItemSequence|^|PhysicalMeasureId|^|FinancialConceptCodeGlobalSecondary|^|IsRangeAllowed|^|IsSegmentedByOrigin|^|SegmentGroupDescription|^|SegmentChildDescription|^|SegmentChildLocalLanguageLabel|^|LocalLanguageLabel.languageId|^|LineItemName.languageId|^|SegmentChildDescription.languageId|^|SegmentChildLocalLanguageLabel.languageId|^|SegmentGroupDescription.languageId|^|SegmentMultipleFundbDescription|^|SegmentMultipleFundbDescription.languageId|^|IsCredit|^|FinancialConceptLocalId|^|FinancialConceptGlobalId|^|FinancialConceptCodeGlobalSecondaryId|^|FFAction|!|
Japan|^|1507101869432|^|4295876606|^|1|^|BAL|^|Cash And Deposits|^|null|^|null|^|ACAE|^|false|^|null|^|null|^|null|^|null|^|false|^|null|^|null|^|null|^|null|^|505126|^|505074|^|null|^|null|^|null|^|null|^|null|^|null|^|null|^|3018759|^|null|^|I|!|
과 같은 데이터 세트를 가지고 그리고 이것은 내가 자동으로 데이터를로드 내가 마지막 작업을 가입 할있는 다른 데이터 프레임이 이제 스키마를
val df1With_ = df.toDF(df.columns.map(_.replace(".", "_")): _*)
val column_to_keep = df1With_.columns.filter(v => (!v.contains("^") && !v.contains("!") && !v.contains("_c"))).toSeq
val df1result = df1With_.select(column_to_keep.head, column_to_keep.tail: _*)
을 발견하는 방법입니다 나는 csv 파일에 출력을 쓰는 데이터 프레임을 만든다.
최종 데이터 프레임은 내가로만 concatenated
예상되는 내 헤더를 참조 내 출력 파일에 지금이
val dfMainOutputFinal = dfMainOutput.select($"DataPartition", $"StatementTypeCode",concat_ws("|^|", dfMainOutput.schema.fieldNames.filter(_ != "DataPartition").map(c => col(c)): _*).as("concatenated"))
val dfMainOutputFinalWithoutNull = dfMainOutputFinal.withColumn("concatenated", regexp_replace(col("concatenated"), "null", ""))
dfMainOutputFinalWithoutNull.write.partitionBy("DataPartition","StatementTypeCode")
.format("csv")
.option("nullValue", "")
.option("header","true")
.option("codec", "gzip")
.save("output")
것 같습니다.
이제 내 질문에 내가이가 concatenated
열 이름을 변경하는 것입니다 해결하는 가장 간단한 방법을 생각 df1result
데이터 프레임
안녕하세요 Shaido 헤더의 마지막 열에'| '를 써야한다면 어떻게해야할까요? – SUDARSHAN
그래서 내 헤더 마지막 열은 다음과 같이 보일 것입니다. 'FFAction |^|!' – SUDARSHAN
@SUDARSHAN은'mkString ("|^|")'을'mkString (" , "|^|", "|")'. – Shaido