← 스킬 목록으로 돌아가기

pyspark-schema-converter

v1.0.0 approved Data Processing ⬇ 4 ↑ 1/7일 3일 전
✅ Verified
⬇ 다운로드 설치 가이드↓
🤖 에이전트용 설치 명령 (curl / MCP / Claude Desktop)
▸ curl 한 줄 다운로드
curl -L -o pyspark-schema-converter.skill   "https://aiskillstore.io/v1/agent/skills/6a19a067-93da-4b65-88f2-9e3f5d2461fb/download?platform=ClaudeCode"
▸ MCP 도구 호출 (Skill Store MCP 등록 시)
{
  "tool": "download_skill",
  "arguments": {
    "skill_id": "6a19a067-93da-4b65-88f2-9e3f5d2461fb",
    "platform": "ClaudeCode"
  }
}
▸ Claude Desktop / Cursor MCP 설정 (1회)
{
  "mcpServers": {
    "skill-store": {
      "url": "https://aiskillstore.io/mcp/"
    }
  }
}
📖 에이전트용 전체 API 가이드: /llms.txt  ·  MCP server card

Convert JSON Schema / DDL / CSV headers to PySpark StructType code, and reverse-convert PySpark schemas to Avro or JSON Schema. No Spark runtime required.

# pyspark # schema # etl # ddl # avro # data-pipeline # spark

기본 정보

소유자 👤 aiskillstore-team 카테고리 Data Processing 등록일 2026-06-12 최종 업데이트 2026-06-12 최신 버전 1.0.0 패키지 날짜 2026-06-12 검증 상태 approved 다운로드 수 4회 체크섬 (SHA256) 33b361cc51acc77124b40a9d0872f78908fffc1fe74c0ed0490f7799da3f39a2

설치 방법

호환 플랫폼: any

1
openclaw_skill_manager.py로 스킬을 설치합니다.
python openclaw_skill_manager.py --install pyspark-schema-converter
2
설치 확인
python openclaw_skill_manager.py --list-installed
3
특정 버전 설치 (선택)
python openclaw_skill_manager.py --install pyspark-schema-converter --version 1.0.0
1
스킬 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/skills/6a19a067-93da-4b65-88f2-9e3f5d2461fb/download
2
Claude Code commands 디렉터리에 배치합니다.
unzip pyspark-schema-converter.skill -d ~/.claude/commands/pyspark-schema-converter/
3
Claude Code에서 슬래시 커맨드로 사용합니다.
/pyspark-schema-converter
1
Agent Skills 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/6a19a067-93da-4b65-88f2-9e3f5d2461fb/download?platform=ClaudeCodeAgentSkill
2
Claude Code skills 디렉터리에 압축을 해제합니다.
unzip pyspark-schema-converter-agent-skill-*.skill -d ~/.claude/skills/pyspark-schema-converter/
3
Claude Code를 재시작하면 세션 시작 시 자동으로 로드됩니다. 슬래시 커맨드 없이 자연어로 사용 가능합니다.
1
Cursor 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/6a19a067-93da-4b65-88f2-9e3f5d2461fb/download?platform=Cursor
2
압축 해제 후 영구 위치에 저장합니다.
unzip pyspark-schema-converter-cursor-*.skill -d ~/.cursor/skills/pyspark-schema-converter/
3
.cursor/mcp.json에 MCP 서버 설정을 추가하고 Cursor를 재시작합니다.
cat ~/.cursor/skills/pyspark-schema-converter/cursor_mcp_config.json
1
Gemini CLI 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/6a19a067-93da-4b65-88f2-9e3f5d2461fb/download?platform=GeminiCLI
2
압축 해제 후 영구 위치에 저장합니다.
unzip pyspark-schema-converter-geminicli-*.skill -d ~/.gemini/skills/pyspark-schema-converter/
3
~/.gemini/settings.json에 MCP 서버 설정을 추가하고 Gemini CLI를 재시작합니다.
cat ~/.gemini/skills/pyspark-schema-converter/gemini_settings_snippet.json
1
Codex CLI 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/6a19a067-93da-4b65-88f2-9e3f5d2461fb/download?platform=CodexCLI
2
압축 해제 후 영구 위치에 저장합니다.
unzip pyspark-schema-converter-codexcli-*.skill -d ~/.codex/skills/pyspark-schema-converter/
3
~/.codex/config.toml에 MCP 서버 설정을 추가하고 Codex CLI를 재시작합니다.
cat ~/.codex/skills/pyspark-schema-converter/codex_config_snippet.toml
1
REST API로 스킬 패키지를 다운로드합니다.
GET https://aiskillstore.io/v1/skills/6a19a067-93da-4b65-88f2-9e3f5d2461fb/download
2
에이전트 플랫폼의 skills 디렉터리에 배치합니다.
cp pyspark-schema-converter.skill ./skills/
3
설치 가이드 API로 플랫폼별 상세 정보를 조회합니다.
GET https://aiskillstore.io/v1/skills/6a19a067-93da-4b65-88f2-9e3f5d2461fb/install-guide?platform=CustomAgent

보안 검증 보고서

검증 결과 APPROVED

검사 결과: ["메타데이터 경고: 권장 필드 없음: 'requirements' (SKILL.md v2 권장)", "메타데이터 경고: 권장 필드 없음: 'changelog' (SKILL.md v2 권장)", '정보: spec: usk/1.0 미선언 — v2 패키지로 처리됩니다. 자동 변환 및 에이전트 검색 기능을 사용하려면 USK v3로 업그레이드하세요.']

✅ 보안 위험 항목이 발견되지 않았습니다.

AI 검수 단계

검수 주체 gemini 위험도 🟢 낮음 검수 요약 선언된 제한적인 권한을 준수하며, 악의적인 동작이나 외부 통신이 없는 안전한 스킬입니다.
판단 근거

스킬 메타데이터에 명시된 `network: false`, `filesystem: false`, `subprocess: false` 권한 선언과 실제 코드의 동작이 완벽하게 일치합니다. 코드 분석 결과, `sys`, `json`, `os`, `re`, `csv`, `io` 등 표준 라이브러리만을 사용하며, 이들 또한 스킬의 핵심 기능(입력/출력 처리, 문자열 파싱, JSON 직렬화/역직렬화)을 수행하는 데 필요한 범위 내에서만 사용됩니다. - `os` 모듈은 `sys.path.insert`를 위한 경로 설정에만 사용되며, 파일 시스템에 대한 임의 접근은 없습니다. - `io.StringIO`는 메모리 내 문자열 처리에 사용될 뿐, 실제 파일 I/O를 수행하지 않습니다. - `subprocess` 모듈이나 외부 명령 실행 코드는 발견되지 않았습니다. - `requests`, `urllib` 등 네트워크 통신을 위한 라이브러리 사용이 전혀 없습니다. - 사용자 입력 스키마를 파싱하고 변환하는 것이 스킬의 목적이며, 이 과정에서 사용자 데이터를 무단으로 수집하거나 외부로 전송하는 행위는 발견되지 않았습니다. - 정적 분석 결과에서도 'red_flags_found', 'obfuscation_warnings', 'forbidden_exec_files_found' 항목이 모두 비어 있어 코드의 안전성을 뒷받침합니다. 전반적으로 코드 품질이 우수하고, 스킬의 목적에 부합하며, 보안 위험 요소가 없는 것으로 판단됩니다.

버전 히스토리

버전 USK v3 검증 상태 패키지 날짜 다운로드 변경사항
v1.0.0 approved 2026-06-12 ⬇ 4

사용 예시 (Examples) 7 개

이 스킬의 대표적인 입출력 예시입니다. 에이전트는 이 예시를 보고 스킬 호출 방법과 결과 형태를 이해할 수 있습니다.

json_schema_to_pyspark
# json_schema# nested# array

Nested JSON Schema (user profile with address object and tags array) -> PySpark StructType Python code

📥 입력
{
  "input_format": "json_schema",
  "input_schema": "{\"type\":\"object\",\"required\":[\"user_id\",\"email\"],\"properties\":{\"user_id\":{\"type\":\"integer\",\"format\":\"int64\"},\"email\":{\"type\":\"string\"},\"address\":{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"},\"zip\":{\"type\":\"string\"}}},\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}"
}
📤 출력
{
  "field_count": 4,
  "input_format_detected": "json_schema",
  "output": "PySpark StructType code with LongType for user_id, StringType for email, nested StructType for address, ArrayType(StringType()) for tags",
  "success": true,
  "warnings": []
}
mysql_ddl_to_pyspark
# ddl# mysql# decimal# bigint

MySQL CREATE TABLE with BIGINT NOT NULL and DECIMAL(10,2) -> accurate LongType and DecimalType

📥 입력
{
  "input_format": "ddl",
  "input_schema": "CREATE TABLE orders (id BIGINT NOT NULL, amount DECIMAL(10,2), status VARCHAR(50), created_at TIMESTAMP);"
}
📤 출력
{
  "field_count": 4,
  "input_format_detected": "ddl",
  "output": "PySpark StructType code: id as LongType(nullable=False), amount as DecimalType(10,2), status as StringType, created_at as TimestampType",
  "success": true,
  "warnings": []
}
csv_header_type_inference
# csv# type-inference# csv_header

CSV header with sample rows -> inferred PySpark types (IntegerType, DateType, BooleanType)

📥 입력
{
  "csv_sample_rows": [
    "1001,alice@example.com,2024-01-15,true",
    "1002,bob@example.com,2024-03-22,false",
    "1003,carol@example.com,2024-07-01,true"
  ],
  "input_format": "csv_header",
  "input_schema": "user_id,email,created_at,is_active"
}
📤 출력
{
  "field_count": 4,
  "input_format_detected": "csv_header",
  "output": "PySpark StructType code: user_id as IntegerType, email as StringType, created_at as DateType, is_active as BooleanType",
  "success": true,
  "warnings": []
}
pyspark_json_to_avro
# avro# reverse-conversion# pyspark_json

PySpark schema.json() format -> Apache Avro schema with logicalType annotations

📥 입력
{
  "input_format": "pyspark_json",
  "input_schema": "{\"type\":\"struct\",\"fields\":[{\"name\":\"order_id\",\"type\":\"long\",\"nullable\":false,\"metadata\":{}},{\"name\":\"total\",\"type\":{\"type\":\"decimal\",\"precision\":10,\"scale\":2},\"nullable\":true,\"metadata\":{}},{\"name\":\"status\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}}]}",
  "output_format": "avro"
}
📤 출력
{
  "field_count": 3,
  "input_format_detected": "pyspark_json",
  "output": "Avro record schema with long for order_id, decimal logicalType for total, string for status",
  "success": true,
  "warnings": []
}
nested_array_of_objects
# nested# array-of-objects# nullable# anyOf

JSON Schema with array of objects and anyOf nullable -> ArrayType(StructType) recursive conversion

📥 입력
{
  "input_format": "json_schema",
  "input_schema": "{\"type\":\"object\",\"properties\":{\"order_id\":{\"type\":\"integer\"},\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"sku\":{\"type\":\"string\"},\"qty\":{\"type\":\"integer\",\"format\":\"int32\"},\"price\":{\"type\":\"number\"}}}},\"tags\":{\"anyOf\":[{\"type\":\"array\",\"items\":{\"type\":\"string\"}},{\"type\":\"null\"}]}}}"
}
📤 출력
{
  "field_count": 3,
  "input_format_detected": "json_schema",
  "output": "PySpark StructType with LongType for order_id, ArrayType(StructType with IntegerType/DoubleType) for items, nullable ArrayType(StringType) for tags",
  "success": true,
  "warnings": []
}
invalid_ddl_error
# error-handling# ddl# validation

Malformed DDL input -> PARSE_ERROR with structured error response

📥 입력
{
  "input_format": "ddl",
  "input_schema": "THIS IS NOT VALID DDL AT ALL"
}
📤 출력
{
  "error": {
    "code": "PARSE_ERROR",
    "message": "PARSE_ERROR: Could not find column definition block \u0027(...)\u0027. Ensure input is a valid CREATE TABLE statement."
  },
  "success": false
}
ddl_to_json_schema
# json_schema# output-format# api-contract

PostgreSQL DDL -> JSON Schema output (for API contract generation)

📥 입력
{
  "input_format": "ddl",
  "input_schema": "CREATE TABLE products (sku VARCHAR(100) NOT NULL, price DECIMAL(12,4), stock INTEGER, last_updated TIMESTAMP);",
  "output_format": "json_schema"
}
📤 출력
{
  "field_count": 4,
  "input_format_detected": "ddl",
  "output": "JSON Schema with string for sku (required), number/decimal for price, integer for stock, string/date-time for last_updated",
  "success": true,
  "warnings": []
}

모든 예시는 에이전트 API로도 조회 가능: /v1/agent/skills/6a19a067-93da-4b65-88f2-9e3f5d2461fb/schema

리뷰 & 평점

아직 리뷰가 없습니다. 첫 번째 리뷰를 남겨보세요!

✍️ 리뷰 작성