PySpark查询多个JSON文件

时间:2017-09-15 21:09:15

标签: json apache-spark pyspark spark-dataframe

我已经使用命令(python spark)上传到 <div class="Table01"> <button id="older">Show Registration History</button> @foreach (var sm in Model) { var tmp = @sm.SeminarNm.Replace("&", "and"); <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 well table-item" align="left" data-toggle="tooltip" data-eventtype="@tmp" data-placement="top" title="@tmp"> <span class="sortName mid-weight"> @sm.SeminarNm</span> <span class="sortDate alert-info">(ON @string.Format("{0:yyyy-MM-dd}", @sm.SessionStartDT) IN @sm.SessionCityNm)</span> <div class="row " style="margin-top:10px"> @if (@sm.IsEditable == "Y") { using (Html.BeginForm("EditRegister", "App", FormMethod.Post, new { onclick = "showPageLoadingSpinner()" })) { @Html.AntiForgeryToken() <div class="col-xs-12 col-md-6 col-lg-6"> <input class="btn btn-success " name="submitButton" type="submit" value="Edit" /> <input type="hidden" value="@sm.RegistrantSeq" name="hiddenseq" /> <input type="hidden" value="0" name="cntView" /> <input type="hidden" value="EditRegister" name="cntStage" /> </div> } } @using (Html.BeginForm("ViewRegister", "App", FormMethod.Post)) { @Html.AntiForgeryToken() <div class="col-xs-12 col-md-6 col-lg-6 col"> <input class="btn btn-info" name="submitButton" type="submit" value="View" /> <input type="hidden" value="@sm.RegistrantSeq" name="hiddenseq" /> <input type="hidden" value="ViewRegister" name="cntStage" /> </div> } // </div> } </div> </div> @section Scripts { @Scripts.Render("~/bundles/jqueryval") } <script> var $btns = $('.btn').click(function () { if (this.id == 'older') { $('#child > div').toggle(450); } $btns.removeClass('active'); $(this).addClass('active'); }) </script> 许多JSONL文件(所有这些文件的结构相同)包含在目录中:df = spark.read.json(mydirectory)df。 createGlobalTempView(&#34; MyDatabase&#34;)sqlDF = spark.sql(&#34; SELECT count(*)FROM MyDatabase&#34;)sqlDF.show()。

上传有效,但是当我查询sqlDF(Spark 2.2.0)时,似乎Spark只计算一个文件(第一个?)的行而不是所有文件的行。我假设&#34; MyDatabase&#34;是包含所有文件的数据框。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

如果我只上传一个只包含一行多个json对象{...}的文件,Spark可以正确识别表格结构。如果我有多个文件,我必须将每个{}放在一个新行上以获得相同的结果。